0

[cleanup] Replace base::ranges with std::ranges: services/

Done entirely with `git grep` and `sed` + `git cl format`, no
hand-editing.

Bug: 386918226
Change-Id: I81f5c7da2f7ff208aee257190ac82e0734cce819
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6201962
Owners-Override: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1411642}
This commit is contained in:
Peter Kasting
2025-01-27 08:22:38 -08:00
committed by Chromium LUCI CQ
parent 2eb886d873
commit f9d73bf132
104 changed files with 344 additions and 338 deletions
services
accessibility
audio
cert_verifier
data_decoder
device
image_annotation
media_session
network
preferences
proxy_resolver
screen_ai
service_manager
tracing
video_capture
webnn

@@ -209,7 +209,7 @@ int32_t AccessibilityWindowInfoDataWrapper::GetWindowId() const {
} }
void AccessibilityWindowInfoDataWrapper::AddVirtualChild(int32_t child_id) { void AccessibilityWindowInfoDataWrapper::AddVirtualChild(int32_t child_id) {
if (base::ranges::find(virtual_child_ids_, child_id) != if (std::ranges::find(virtual_child_ids_, child_id) !=
virtual_child_ids_.end()) { virtual_child_ids_.end()) {
LOG(ERROR) << "Given child id already exists as a virtual child."; LOG(ERROR) << "Given child id already exists as a virtual child.";
} else { } else {

@@ -4,12 +4,12 @@
#include "services/accessibility/android/auto_complete_handler.h" #include "services/accessibility/android/auto_complete_handler.h"
#include <algorithm>
#include <map> #include <map>
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
#include "services/accessibility/android/accessibility_info_data_wrapper.h" #include "services/accessibility/android/accessibility_info_data_wrapper.h"
#include "services/accessibility/android/accessibility_node_info_data_wrapper.h" #include "services/accessibility/android/accessibility_node_info_data_wrapper.h"
#include "services/accessibility/android/accessibility_window_info_data_wrapper.h" #include "services/accessibility/android/accessibility_window_info_data_wrapper.h"
@@ -217,9 +217,9 @@ TEST_F(AutoCompleteHandlerTest, PreEventAndPostSerialize) {
AutoCompleteHandler::CreateIfNecessary(tree_source(), *event_data); AutoCompleteHandler::CreateIfNecessary(tree_source(), *event_data);
ASSERT_EQ(2U, create_result.size()); ASSERT_EQ(2U, create_result.size());
auto editable1_handler = base::ranges::find( auto editable1_handler = std::ranges::find(
create_result, 1, &AutoCompleteHandler::IdAndHandler::first); create_result, 1, &AutoCompleteHandler::IdAndHandler::first);
auto editable2_handler = base::ranges::find( auto editable2_handler = std::ranges::find(
create_result, 2, &AutoCompleteHandler::IdAndHandler::first); create_result, 2, &AutoCompleteHandler::IdAndHandler::first);
ASSERT_NE(editable1_handler, create_result.end()); ASSERT_NE(editable1_handler, create_result.end());
ASSERT_NE(editable2_handler, create_result.end()); ASSERT_NE(editable2_handler, create_result.end());

@@ -113,7 +113,7 @@ PaneTitleHandler::CreateIfNecessary(
const auto& itr = event_data.int_list_properties->find( const auto& itr = event_data.int_list_properties->find(
mojom::AccessibilityEventIntListProperty::CONTENT_CHANGE_TYPES); mojom::AccessibilityEventIntListProperty::CONTENT_CHANGE_TYPES);
if (itr == event_data.int_list_properties->end() || if (itr == event_data.int_list_properties->end() ||
base::ranges::find( std::ranges::find(
itr->second, itr->second,
static_cast<int32_t>(mojom::ContentChangeType::PANE_APPEARED)) == static_cast<int32_t>(mojom::ContentChangeType::PANE_APPEARED)) ==
itr->second.end()) { itr->second.end()) {

@@ -81,8 +81,8 @@ v8::Local<v8::Value> V8ValueConverter::ToArrayBuffer(
const base::Value::BlobStorage& value) const { const base::Value::BlobStorage& value) const {
v8::Local<v8::ArrayBuffer> buffer = v8::Local<v8::ArrayBuffer> buffer =
v8::ArrayBuffer::New(isolate, value.size()); v8::ArrayBuffer::New(isolate, value.size());
base::ranges::copy(value, std::ranges::copy(value,
static_cast<uint8_t*>(buffer->GetBackingStore()->Data())); static_cast<uint8_t*>(buffer->GetBackingStore()->Data()));
return buffer; return buffer;
} }

@@ -5,11 +5,12 @@
#ifndef SERVICES_AUDIO_GROUP_COORDINATOR_IMPL_H_ #ifndef SERVICES_AUDIO_GROUP_COORDINATOR_IMPL_H_
#define SERVICES_AUDIO_GROUP_COORDINATOR_IMPL_H_ #define SERVICES_AUDIO_GROUP_COORDINATOR_IMPL_H_
#include <algorithm>
#include "base/compiler_specific.h" #include "base/compiler_specific.h"
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#if DCHECK_IS_ON() #if DCHECK_IS_ON()
#define DCHECK_INCREMENT_MUTATION_COUNT() ++mutation_count_ #define DCHECK_INCREMENT_MUTATION_COUNT() ++mutation_count_
@@ -65,7 +66,7 @@ void GroupCoordinator<Member>::UnregisterMember(
const auto group_it = FindGroup(group_id); const auto group_it = FindGroup(group_id);
std::vector<Member*>& members = group_it->second.members; std::vector<Member*>& members = group_it->second.members;
const auto member_it = base::ranges::find(members, member); const auto member_it = std::ranges::find(members, member);
CHECK(member_it != members.end(), base::NotFatalUntil::M130); CHECK(member_it != members.end(), base::NotFatalUntil::M130);
members.erase(member_it); members.erase(member_it);
DCHECK_INCREMENT_MUTATION_COUNT(); DCHECK_INCREMENT_MUTATION_COUNT();
@@ -101,7 +102,7 @@ void GroupCoordinator<Member>::RemoveObserver(
const auto group_it = FindGroup(group_id); const auto group_it = FindGroup(group_id);
std::vector<Observer*>& observers = group_it->second.observers; std::vector<Observer*>& observers = group_it->second.observers;
const auto it = base::ranges::find(observers, observer); const auto it = std::ranges::find(observers, observer);
CHECK(it != observers.end(), base::NotFatalUntil::M130); CHECK(it != observers.end(), base::NotFatalUntil::M130);
observers.erase(it); observers.erase(it);
DCHECK_INCREMENT_MUTATION_COUNT(); DCHECK_INCREMENT_MUTATION_COUNT();

@@ -4,12 +4,12 @@
#include "services/audio/loopback_stream.h" #include "services/audio/loopback_stream.h"
#include <algorithm>
#include <string> #include <string>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/sync_socket.h" #include "base/sync_socket.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "base/time/default_tick_clock.h" #include "base/time/default_tick_clock.h"
@@ -261,7 +261,7 @@ void LoopbackStream::FlowNetwork::RemoveInput(SnooperNode* node) {
DCHECK_CALLED_ON_VALID_SEQUENCE(control_sequence_); DCHECK_CALLED_ON_VALID_SEQUENCE(control_sequence_);
base::AutoLock scoped_lock(lock_); base::AutoLock scoped_lock(lock_);
const auto it = base::ranges::find(inputs_, node); const auto it = std::ranges::find(inputs_, node);
CHECK(it != inputs_.end(), base::NotFatalUntil::M130); CHECK(it != inputs_.end(), base::NotFatalUntil::M130);
inputs_.erase(it); inputs_.erase(it);
} }

@@ -4,6 +4,7 @@
#include "services/audio/loopback_stream.h" #include "services/audio/loopback_stream.h"
#include <algorithm>
#include <cmath> #include <cmath>
#include <cstdint> #include <cstdint>
#include <memory> #include <memory>
@@ -12,7 +13,6 @@
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h" #include "base/memory/scoped_refptr.h"
#include "base/ranges/algorithm.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "base/unguessable_token.h" #include "base/unguessable_token.h"
@@ -162,7 +162,7 @@ class LoopbackStreamTest : public testing::Test {
void RemoveSource(FakeLoopbackGroupMember* source) { void RemoveSource(FakeLoopbackGroupMember* source) {
const auto it = const auto it =
base::ranges::find_if(sources_, base::MatchesUniquePtr(source)); std::ranges::find_if(sources_, base::MatchesUniquePtr(source));
if (it != sources_.end()) { if (it != sources_.end()) {
coordinator_.UnregisterMember(group_id_, source); coordinator_.UnregisterMember(group_id_, source);
sources_.erase(it); sources_.erase(it);

@@ -7,6 +7,7 @@
#include <inttypes.h> #include <inttypes.h>
#include <stdio.h> #include <stdio.h>
#include <algorithm>
#include <string> #include <string>
#include <utility> #include <utility>
@@ -18,7 +19,6 @@
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/threading/platform_thread.h" #include "base/threading/platform_thread.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
@@ -521,7 +521,7 @@ void OutputController::StopSnooping(Snooper* snooper) {
// The list will only update on this thread, and only be read on the realtime // The list will only update on this thread, and only be read on the realtime
// audio thread. // audio thread.
const auto it = base::ranges::find(snoopers_, snooper); const auto it = std::ranges::find(snoopers_, snooper);
CHECK(it != snoopers_.end(), base::NotFatalUntil::M130); CHECK(it != snoopers_.end(), base::NotFatalUntil::M130);
// We also don't care about ordering, so swap and pop rather than erase. // We also don't care about ordering, so swap and pop rather than erase.
base::AutoLock lock(snooper_lock_); base::AutoLock lock(snooper_lock_);

@@ -4,12 +4,12 @@
#include "services/audio/stream_factory.h" #include "services/audio/stream_factory.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "base/unguessable_token.h" #include "base/unguessable_token.h"
@@ -165,7 +165,7 @@ void StreamFactory::BindMuter(
group_id); group_id);
// Find the existing LocalMuter for this group, or create one on-demand. // Find the existing LocalMuter for this group, or create one on-demand.
auto it = base::ranges::find(muters_, group_id, &LocalMuter::group_id); auto it = std::ranges::find(muters_, group_id, &LocalMuter::group_id);
LocalMuter* muter; LocalMuter* muter;
if (it == muters_.end()) { if (it == muters_.end()) {
auto muter_ptr = std::make_unique<LocalMuter>(&coordinator_, group_id); auto muter_ptr = std::make_unique<LocalMuter>(&coordinator_, group_id);
@@ -257,8 +257,8 @@ void StreamFactory::DestroyMuter(base::WeakPtr<LocalMuter> muter) {
auto do_destroy = [](base::WeakPtr<StreamFactory> weak_this, auto do_destroy = [](base::WeakPtr<StreamFactory> weak_this,
base::WeakPtr<LocalMuter> muter) { base::WeakPtr<LocalMuter> muter) {
if (weak_this && muter) { if (weak_this && muter) {
const auto it = base::ranges::find_if( const auto it = std::ranges::find_if(weak_this->muters_,
weak_this->muters_, base::MatchesUniquePtr(muter.get())); base::MatchesUniquePtr(muter.get()));
// The LocalMuter can still have receivers if a receiver was bound after // The LocalMuter can still have receivers if a receiver was bound after
// DestroyMuter is called but before the do_destroy task is run. // DestroyMuter is called but before the do_destroy task is run.
@@ -278,7 +278,7 @@ void StreamFactory::DestroyLoopbackStream(LoopbackStream* stream) {
DCHECK(stream); DCHECK(stream);
const auto it = const auto it =
base::ranges::find_if(loopback_streams_, base::MatchesUniquePtr(stream)); std::ranges::find_if(loopback_streams_, base::MatchesUniquePtr(stream));
CHECK(it != loopback_streams_.end(), base::NotFatalUntil::M130); CHECK(it != loopback_streams_.end(), base::NotFatalUntil::M130);
loopback_streams_.erase(it); loopback_streams_.erase(it);

@@ -58,6 +58,7 @@
#include "services/cert_verifier/cert_net_url_loader/cert_net_fetcher_url_loader.h" #include "services/cert_verifier/cert_net_url_loader/cert_net_fetcher_url_loader.h"
#include <algorithm>
#include <memory> #include <memory>
#include <tuple> #include <tuple>
#include <utility> #include <utility>
@@ -72,7 +73,6 @@
#include "base/memory/scoped_refptr.h" #include "base/memory/scoped_refptr.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/numerics/safe_math.h" #include "base/numerics/safe_math.h"
#include "base/ranges/algorithm.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "base/synchronization/waitable_event.h" #include "base/synchronization/waitable_event.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
@@ -469,7 +469,7 @@ void Job::AttachRequest(
void Job::DetachRequest(CertNetFetcherURLLoader::RequestCore* request) { void Job::DetachRequest(CertNetFetcherURLLoader::RequestCore* request) {
std::unique_ptr<Job> delete_this; std::unique_ptr<Job> delete_this;
auto it = base::ranges::find(requests_, request); auto it = std::ranges::find(requests_, request);
CHECK(it != requests_.end(), base::NotFatalUntil::M130); CHECK(it != requests_.end(), base::NotFatalUntil::M130);
requests_.erase(it); requests_.erase(it);

@@ -469,8 +469,8 @@ TEST_F(SafeWebBundleParserTest, ParseWebBundleWithRelativeUrls) {
std::vector<GURL> requests; std::vector<GURL> requests;
requests.reserve(metadata->requests.size()); requests.reserve(metadata->requests.size());
base::ranges::transform(metadata->requests, std::back_inserter(requests), std::ranges::transform(metadata->requests, std::back_inserter(requests),
[](const auto& entry) { return entry.first; }); [](const auto& entry) { return entry.first; });
EXPECT_THAT(requests, UnorderedElementsAreArray( EXPECT_THAT(requests, UnorderedElementsAreArray(
{GURL("https://test.example.org/absolute-url"), {GURL("https://test.example.org/absolute-url"),
GURL("https://example.com/relative-url-1"), GURL("https://example.com/relative-url-1"),

@@ -177,7 +177,7 @@ mojom::PressureState CpuProbeManager::CalculateState(const CpuSample& sample) {
// with thresholds defining the state. // with thresholds defining the state.
const auto& kStateThresholds = state_thresholds(); const auto& kStateThresholds = state_thresholds();
auto it = base::ranges::lower_bound(kStateThresholds, sample.cpu_utilization); auto it = std::ranges::lower_bound(kStateThresholds, sample.cpu_utilization);
if (it == kStateThresholds.end()) { if (it == kStateThresholds.end()) {
NOTREACHED() << "unexpected value: " << sample.cpu_utilization; NOTREACHED() << "unexpected value: " << sample.cpu_utilization;
} }

@@ -160,8 +160,8 @@ bool PlatformSensor::UpdateSharedBuffer(const SensorReading& reading) {
// previous value. // previous value.
if (GetReportingMode() == mojom::ReportingMode::ON_CHANGE && if (GetReportingMode() == mojom::ReportingMode::ON_CHANGE &&
last_rounded_reading_.has_value() && last_rounded_reading_.has_value() &&
base::ranges::equal(rounded_reading.raw.values, std::ranges::equal(rounded_reading.raw.values,
last_rounded_reading_->raw.values)) { last_rounded_reading_->raw.values)) {
return false; return false;
} }
// Save rounded value for next comparison. // Save rounded value for next comparison.
@@ -278,7 +278,7 @@ bool PlatformSensor::IsSignificantlyDifferent(const SensorReading& lhs,
case mojom::SensorType::ABSOLUTE_ORIENTATION_QUATERNION: case mojom::SensorType::ABSOLUTE_ORIENTATION_QUATERNION:
case mojom::SensorType::RELATIVE_ORIENTATION_QUATERNION: case mojom::SensorType::RELATIVE_ORIENTATION_QUATERNION:
case mojom::SensorType::MAGNETOMETER: case mojom::SensorType::MAGNETOMETER:
return !base::ranges::equal(lhs.raw.values, rhs.raw.values); return !std::ranges::equal(lhs.raw.values, rhs.raw.values);
} }
} }

@@ -4,12 +4,12 @@
#include "services/device/generic_sensor/platform_sensor_chromeos.h" #include "services/device/generic_sensor/platform_sensor_chromeos.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <utility> #include <utility>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "services/device/public/cpp/generic_sensor/sensor_traits.h" #include "services/device/public/cpp/generic_sensor/sensor_traits.h"
@@ -349,7 +349,7 @@ void PlatformSensorChromeOS::GetAllChannelIdsCallback(
iio_channel_ids_ = iio_channel_ids; iio_channel_ids_ = iio_channel_ids;
for (const std::string& channel : required_channel_ids_) { for (const std::string& channel : required_channel_ids_) {
auto it = base::ranges::find(iio_channel_ids_, channel); auto it = std::ranges::find(iio_channel_ids_, channel);
if (it == iio_channel_ids_.end()) { if (it == iio_channel_ids_.end()) {
LOG(ERROR) << "Missing channel: " << channel; LOG(ERROR) << "Missing channel: " << channel;
ResetOnError(); ResetOnError();

@@ -9,6 +9,7 @@
#include "services/device/generic_sensor/platform_sensor_fusion.h" #include "services/device/generic_sensor/platform_sensor_fusion.h"
#include <algorithm>
#include <limits> #include <limits>
#include "base/check.h" #include "base/check.h"
@@ -17,7 +18,6 @@
#include "base/memory/scoped_refptr.h" #include "base/memory/scoped_refptr.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/observer_list.h" #include "base/observer_list.h"
#include "base/ranges/algorithm.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "services/device/generic_sensor/platform_sensor_fusion_algorithm.h" #include "services/device/generic_sensor/platform_sensor_fusion_algorithm.h"
#include "services/device/generic_sensor/platform_sensor_provider.h" #include "services/device/generic_sensor/platform_sensor_provider.h"
@@ -124,7 +124,7 @@ PlatformSensorFusion::PlatformSensorFusion(
fusion_algorithm_->set_fusion_sensor(this); fusion_algorithm_->set_fusion_sensor(this);
if (base::ranges::any_of(source_sensors_, [](const auto& pair) { if (std::ranges::any_of(source_sensors_, [](const auto& pair) {
return pair.second->GetReportingMode() == return pair.second->GetReportingMode() ==
mojom::ReportingMode::ON_CHANGE; mojom::ReportingMode::ON_CHANGE;
})) { })) {

@@ -4,9 +4,10 @@
#include "services/device/generic_sensor/platform_sensor_linux.h" #include "services/device/generic_sensor/platform_sensor_linux.h"
#include <algorithm>
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/ranges/algorithm.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "services/device/generic_sensor/linux/sensor_data_linux.h" #include "services/device/generic_sensor/linux/sensor_data_linux.h"
#include "services/device/generic_sensor/platform_sensor_reader_linux.h" #include "services/device/generic_sensor/platform_sensor_reader_linux.h"

@@ -13,7 +13,6 @@
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/scoped_refptr.h" #include "base/memory/scoped_refptr.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "chromeos/components/sensors/sensor_util.h" #include "chromeos/components/sensors/sensor_util.h"
@@ -201,7 +200,7 @@ PlatformSensorProviderChromeOS::ParseLocation(
chromeos::sensors::mojom::kLocationBase, chromeos::sensors::mojom::kLocationBase,
chromeos::sensors::mojom::kLocationLid, chromeos::sensors::mojom::kLocationLid,
chromeos::sensors::mojom::kLocationCamera}; chromeos::sensors::mojom::kLocationCamera};
const auto it = base::ranges::find(location_strings, raw_location.value()); const auto it = std::ranges::find(location_strings, raw_location.value());
if (it == std::end(location_strings)) if (it == std::end(location_strings))
return std::nullopt; return std::nullopt;
@@ -417,7 +416,7 @@ bool PlatformSensorProviderChromeOS::AreAllSensorsReady() const {
if (!sensor_ids_received_) if (!sensor_ids_received_)
return false; return false;
return base::ranges::all_of(sensors_, [](const auto& sensor) { return std::ranges::all_of(sensors_, [](const auto& sensor) {
return sensor.second.ignored || return sensor.second.ignored ||
(sensor.second.scale.has_value() && (sensor.second.scale.has_value() &&
(!DeviceNeedsLocationWithTypes(sensor.second.types) || (!DeviceNeedsLocationWithTypes(sensor.second.types) ||

@@ -4,10 +4,10 @@
#include "services/device/generic_sensor/platform_sensor_util.h" #include "services/device/generic_sensor/platform_sensor_util.h"
#include <algorithm>
#include <cmath> #include <cmath>
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "services/device/public/cpp/generic_sensor/sensor_reading.h" #include "services/device/public/cpp/generic_sensor/sensor_reading.h"
namespace device { namespace device {

@@ -4,7 +4,8 @@
#include "services/device/geolocation/fake_position_cache.h" #include "services/device/geolocation/fake_position_cache.h"
#include "base/ranges/algorithm.h" #include <algorithm>
#include "services/device/geolocation/wifi_data.h" #include "services/device/geolocation/wifi_data.h"
#include "services/device/public/cpp/geolocation/geoposition.h" #include "services/device/public/cpp/geolocation/geoposition.h"
@@ -36,7 +37,7 @@ void FakePositionCache::CachePosition(const WifiData& wifi_data,
const mojom::Geoposition* FakePositionCache::FindPosition( const mojom::Geoposition* FakePositionCache::FindPosition(
const WifiData& wifi_data) { const WifiData& wifi_data) {
auto it = auto it =
base::ranges::find_if(data, [&wifi_data](const auto& candidate_pair) { std::ranges::find_if(data, [&wifi_data](const auto& candidate_pair) {
return SetsEqual(wifi_data.access_point_data, return SetsEqual(wifi_data.access_point_data,
candidate_pair.first.access_point_data); candidate_pair.first.access_point_data);
}); });

@@ -53,7 +53,7 @@ void GeolocationContext::OnPermissionRevoked(const url::Origin& origin) {
void GeolocationContext::OnConnectionError(GeolocationImpl* impl) { void GeolocationContext::OnConnectionError(GeolocationImpl* impl) {
auto it = auto it =
base::ranges::find(impls_, impl, &std::unique_ptr<GeolocationImpl>::get); std::ranges::find(impls_, impl, &std::unique_ptr<GeolocationImpl>::get);
CHECK(it != impls_.end(), base::NotFatalUntil::M130); CHECK(it != impls_.end(), base::NotFatalUntil::M130);
impls_.erase(it); impls_.erase(it);
} }

@@ -4,6 +4,7 @@
#include "services/device/geolocation/geolocation_provider_impl.h" #include "services/device/geolocation/geolocation_provider_impl.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <memory> #include <memory>
#include <utility> #include <utility>
@@ -17,7 +18,6 @@
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/singleton.h" #include "base/memory/singleton.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/task/single_thread_task_runner.h" #include "base/task/single_thread_task_runner.h"
#include "base/time/default_tick_clock.h" #include "base/time/default_tick_clock.h"
#include "build/build_config.h" #include "build/build_config.h"

@@ -9,6 +9,7 @@
#include "services/device/geolocation/location_provider_manager.h" #include "services/device/geolocation/location_provider_manager.h"
#include <algorithm>
#include <memory> #include <memory>
#include <utility> #include <utility>
@@ -17,7 +18,6 @@
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/ranges/algorithm.h"
#include "base/test/bind.h" #include "base/test/bind.h"
#include "base/test/scoped_feature_list.h" #include "base/test/scoped_feature_list.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"

@@ -4,6 +4,7 @@
#include "services/device/geolocation/network_location_provider.h" #include "services/device/geolocation/network_location_provider.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <utility> #include <utility>
@@ -12,7 +13,6 @@
#include "base/location.h" #include "base/location.h"
#include "base/memory/scoped_refptr.h" #include "base/memory/scoped_refptr.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/task/single_thread_task_runner.h" #include "base/task/single_thread_task_runner.h"
#include "base/task/task_runner.h" #include "base/task/task_runner.h"
@@ -95,7 +95,7 @@ void NetworkLocationProvider::FillDiagnostics(
} }
diagnostics.network_location_diagnostics = diagnostics.network_location_diagnostics =
mojom::NetworkLocationDiagnostics::New(); mojom::NetworkLocationDiagnostics::New();
base::ranges::transform( std::ranges::transform(
wifi_data_.access_point_data, wifi_data_.access_point_data,
std::back_inserter( std::back_inserter(
diagnostics.network_location_diagnostics->access_point_data), diagnostics.network_location_diagnostics->access_point_data),

@@ -6,6 +6,7 @@
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <iterator> #include <iterator>
#include <limits> #include <limits>
#include <optional> #include <optional>
@@ -22,7 +23,6 @@
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/ranges/algorithm.h"
#include "base/strings/escape.h" #include "base/strings/escape.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
@@ -130,7 +130,7 @@ std::vector<mojom::AccessPointDataPtr> RequestToMojom(
return {}; return {};
} }
std::vector<mojom::AccessPointDataPtr> request; std::vector<mojom::AccessPointDataPtr> request;
base::ranges::transform( std::ranges::transform(
*access_points_list, std::back_inserter(request), *access_points_list, std::back_inserter(request),
[&wifi_timestamp](const base::Value& ap_value) { [&wifi_timestamp](const base::Value& ap_value) {
const auto& ap_dict = ap_value.GetDict(); const auto& ap_dict = ap_value.GetDict();

@@ -4,7 +4,8 @@
#include "services/device/geolocation/position_cache_impl.h" #include "services/device/geolocation/position_cache_impl.h"
#include "base/ranges/algorithm.h" #include <algorithm>
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "components/device_event_log/device_event_log.h" #include "components/device_event_log/device_event_log.h"
#include "services/device/geolocation/wifi_data.h" #include "services/device/geolocation/wifi_data.h"

@@ -8,10 +8,11 @@
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <functional>
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/ranges/algorithm.h"
#include "base/ranges/functional.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "chromeos/ash/components/network/geolocation_handler.h" #include "chromeos/ash/components/network/geolocation_handler.h"
#include "chromeos/ash/components/network/network_handler.h" #include "chromeos/ash/components/network/network_handler.h"
@@ -61,8 +62,8 @@ std::optional<WifiData> GetWifiData() {
} }
// Sort AP sightings by age, most recent first. // Sort AP sightings by age, most recent first.
base::ranges::sort(access_points, base::ranges::greater(), std::ranges::sort(access_points, std::ranges::greater(),
&ash::WifiAccessPoint::timestamp); &ash::WifiAccessPoint::timestamp);
// Truncate to kApUseLimit. // Truncate to kApUseLimit.
if (access_points.size() > kApUseLimit) { if (access_points.size() > kApUseLimit) {

@@ -4,9 +4,10 @@
#include "services/device/hid/hid_connection.h" #include "services/device/hid/hid_connection.h"
#include <algorithm>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/ranges/algorithm.h"
#include "components/device_event_log/device_event_log.h" #include "components/device_event_log/device_event_log.h"
#include "services/device/public/cpp/hid/hid_report_type.h" #include "services/device/public/cpp/hid/hid_report_type.h"
#include "services/device/public/cpp/hid/hid_report_utils.h" #include "services/device/public/cpp/hid/hid_report_utils.h"
@@ -18,7 +19,7 @@ namespace {
bool HasAlwaysProtectedCollection( bool HasAlwaysProtectedCollection(
const std::vector<mojom::HidCollectionInfoPtr>& collections) { const std::vector<mojom::HidCollectionInfoPtr>& collections) {
return base::ranges::any_of(collections, [](const auto& collection) { return std::ranges::any_of(collections, [](const auto& collection) {
return IsAlwaysProtected(*collection->usage, HidReportType::kInput) || return IsAlwaysProtected(*collection->usage, HidReportType::kInput) ||
IsAlwaysProtected(*collection->usage, HidReportType::kOutput) || IsAlwaysProtected(*collection->usage, HidReportType::kOutput) ||
IsAlwaysProtected(*collection->usage, HidReportType::kFeature); IsAlwaysProtected(*collection->usage, HidReportType::kFeature);

@@ -9,9 +9,10 @@
#include "services/device/hid/hid_connection_impl.h" #include "services/device/hid/hid_connection_impl.h"
#include <algorithm>
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/ranges/algorithm.h"
namespace device { namespace device {

@@ -4,6 +4,7 @@
#include "services/device/hid/hid_connection_win.h" #include "services/device/hid/hid_connection_win.h"
#include <algorithm>
#include <cstring> #include <cstring>
#include <utility> #include <utility>
@@ -14,7 +15,6 @@
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/win/object_watcher.h" #include "base/win/object_watcher.h"
#include "components/device_event_log/device_event_log.h" #include "components/device_event_log/device_event_log.h"
#include "services/device/public/cpp/device_features.h" #include "services/device/public/cpp/device_features.h"
@@ -327,8 +327,8 @@ void HidConnectionWin::OnWriteComplete(HANDLE file_handle,
std::unique_ptr<PendingHidTransfer> HidConnectionWin::UnlinkTransfer( std::unique_ptr<PendingHidTransfer> HidConnectionWin::UnlinkTransfer(
PendingHidTransfer* transfer) { PendingHidTransfer* transfer) {
auto it = base::ranges::find(transfers_, transfer, auto it = std::ranges::find(transfers_, transfer,
&std::unique_ptr<PendingHidTransfer>::get); &std::unique_ptr<PendingHidTransfer>::get);
CHECK(it != transfers_.end(), base::NotFatalUntil::M130); CHECK(it != transfers_.end(), base::NotFatalUntil::M130);
std::unique_ptr<PendingHidTransfer> saved_transfer = std::move(*it); std::unique_ptr<PendingHidTransfer> saved_transfer = std::move(*it);
transfers_.erase(it); transfers_.erase(it);

@@ -300,7 +300,7 @@ std::vector<mojom::HidReportDescriptionPtr> CreateReportDescriptions(
auto report_items = preparsed_data.GetReportItems(report_type); auto report_items = preparsed_data.GetReportItems(report_type);
// Sort items by |report_id| and |bit_index|. // Sort items by |report_id| and |bit_index|.
base::ranges::sort(report_items, [](const auto& a, const auto& b) { std::ranges::sort(report_items, [](const auto& a, const auto& b) {
if (a.report_id < b.report_id) if (a.report_id < b.report_id)
return true; return true;
if (a.report_id == b.report_id) if (a.report_id == b.report_id)

@@ -4,7 +4,7 @@
#include "services/device/public/cpp/generic_sensor/sensor_mojom_traits.h" #include "services/device/public/cpp/generic_sensor/sensor_mojom_traits.h"
#include "base/ranges/algorithm.h" #include <algorithm>
namespace mojo { namespace mojo {
@@ -45,7 +45,7 @@ bool StructTraits<
} }
out->raw.timestamp = data.timestamp(); out->raw.timestamp = data.timestamp();
base::ranges::copy(raw_values, out->raw.values); std::ranges::copy(raw_values, out->raw.values);
return true; return true;
} }

@@ -62,7 +62,7 @@ bool CollectionHasUnprotectedReports(
const mojom::HidCollectionInfo& collection) { const mojom::HidCollectionInfo& collection) {
const HidReportType report_types[] = { const HidReportType report_types[] = {
HidReportType::kInput, HidReportType::kOutput, HidReportType::kFeature}; HidReportType::kInput, HidReportType::kOutput, HidReportType::kFeature};
return base::ranges::any_of(report_types, [&collection](auto report_type) { return std::ranges::any_of(report_types, [&collection](auto report_type) {
return !ReportsForType(collection, report_type).empty() && return !ReportsForType(collection, report_type).empty() &&
!IsAlwaysProtected(*collection.usage, report_type); !IsAlwaysProtected(*collection.usage, report_type);
}); });
@@ -80,7 +80,7 @@ const mojom::HidCollectionInfo* FindCollectionWithReport(
// Return the first collection with a report of type `report_type`, or // Return the first collection with a report of type `report_type`, or
// nullptr if there is no report of that type. // nullptr if there is no report of that type.
auto find_it = base::ranges::find_if( auto find_it = std::ranges::find_if(
device.collections, [report_type](const auto& collection) { device.collections, [report_type](const auto& collection) {
return !ReportsForType(*collection, report_type).empty(); return !ReportsForType(*collection, report_type).empty();
}); });
@@ -99,7 +99,7 @@ const mojom::HidCollectionInfo* FindCollectionWithReport(
// Return the collection containing a report with `report_id` and type // Return the collection containing a report with `report_id` and type
// `report_type`, or nullptr if it is not in any collection. // `report_type`, or nullptr if it is not in any collection.
auto find_it = base::ranges::find_if( auto find_it = std::ranges::find_if(
device.collections, [report_id, report_type](const auto& collection) { device.collections, [report_id, report_type](const auto& collection) {
return base::Contains(ReportsForType(*collection, report_type), return base::Contains(ReportsForType(*collection, report_type),
report_id, report_id,

@@ -4,6 +4,7 @@
#include "services/device/public/cpp/test/fake_usb_device.h" #include "services/device/public/cpp/test/fake_usb_device.h"
#include <algorithm>
#include <memory> #include <memory>
#include <utility> #include <utility>
#include <vector> #include <vector>
@@ -13,7 +14,6 @@
#include "base/functional/callback.h" #include "base/functional/callback.h"
#include "base/functional/callback_helpers.h" #include "base/functional/callback_helpers.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/ranges/algorithm.h"
#include "services/device/public/cpp/test/mock_usb_mojo_device.h" #include "services/device/public/cpp/test/mock_usb_mojo_device.h"
#include "services/device/public/cpp/usb/usb_utils.h" #include "services/device/public/cpp/usb/usb_utils.h"
@@ -127,7 +127,7 @@ void FakeUsbDevice::ClaimInterface(uint8_t interface_number,
} }
const mojom::UsbDeviceInfo& device_info = device_->GetDeviceInfo(); const mojom::UsbDeviceInfo& device_info = device_->GetDeviceInfo();
auto config_it = base::ranges::find( auto config_it = std::ranges::find(
device_info.configurations, device_info.active_configuration, device_info.configurations, device_info.active_configuration,
&mojom::UsbConfigurationInfo::configuration_value); &mojom::UsbConfigurationInfo::configuration_value);
if (config_it == device_info.configurations.end()) { if (config_it == device_info.configurations.end()) {
@@ -137,8 +137,8 @@ void FakeUsbDevice::ClaimInterface(uint8_t interface_number,
} }
auto interface_it = auto interface_it =
base::ranges::find((*config_it)->interfaces, interface_number, std::ranges::find((*config_it)->interfaces, interface_number,
&mojom::UsbInterfaceInfo::interface_number); &mojom::UsbInterfaceInfo::interface_number);
if (interface_it == (*config_it)->interfaces.end()) { if (interface_it == (*config_it)->interfaces.end()) {
std::move(callback).Run(mojom::UsbClaimInterfaceResult::kFailure); std::move(callback).Run(mojom::UsbClaimInterfaceResult::kFailure);
LOG(ERROR) << "No such interface in " << (*config_it)->interfaces.size() LOG(ERROR) << "No such interface in " << (*config_it)->interfaces.size()

@@ -4,14 +4,14 @@
#include "services/device/public/cpp/usb/usb_ids.h" #include "services/device/public/cpp/usb/usb_ids.h"
#include "base/ranges/algorithm.h" #include <algorithm>
namespace device { namespace device {
// static // static
const UsbVendor* UsbIds::FindVendor(uint16_t vendor_id) { const UsbVendor* UsbIds::FindVendor(uint16_t vendor_id) {
const UsbVendor key = {/*name=*/{}, /*products=*/{}, vendor_id}; const UsbVendor key = {/*name=*/{}, /*products=*/{}, vendor_id};
auto it = base::ranges::lower_bound( auto it = std::ranges::lower_bound(
vendors_, key, [](const auto& a, const auto& b) { return a.id < b.id; }); vendors_, key, [](const auto& a, const auto& b) { return a.id < b.id; });
if (it == vendors_.end() || it->id != vendor_id) { if (it == vendors_.end() || it->id != vendor_id) {
return nullptr; return nullptr;
@@ -36,7 +36,7 @@ const char* UsbIds::GetProductName(uint16_t vendor_id, uint16_t product_id) {
} }
const UsbProduct key = {product_id, /*name=*/{}}; const UsbProduct key = {product_id, /*name=*/{}};
auto it = base::ranges::lower_bound( auto it = std::ranges::lower_bound(
vendor->products, key, vendor->products, key,
[](const auto& a, const auto& b) { return a.id < b.id; }); [](const auto& a, const auto& b) { return a.id < b.id; });
if (it == vendor->products.end() || it->id != product_id) { if (it == vendor->products.end() || it->id != product_id) {

@@ -4,6 +4,7 @@
#include "services/device/serial/serial_port_manager_impl.h" #include "services/device/serial/serial_port_manager_impl.h"
#include <algorithm>
#include <set> #include <set>
#include <string> #include <string>
#include <utility> #include <utility>
@@ -12,7 +13,6 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "base/ranges/algorithm.h"
#include "base/task/single_thread_task_runner.h" #include "base/task/single_thread_task_runner.h"
#include "base/test/bind.h" #include "base/test/bind.h"
#include "base/test/gmock_callback_support.h" #include "base/test/gmock_callback_support.h"
@@ -422,7 +422,7 @@ TEST_F(SerialPortManagerImplTest, BluetoothDeviceChanged) {
TestFuture<std::vector<mojom::SerialPortInfoPtr>> get_devices_future; TestFuture<std::vector<mojom::SerialPortInfoPtr>> get_devices_future;
port_manager->GetDevices(get_devices_future.GetCallback()); port_manager->GetDevices(get_devices_future.GetCallback());
auto port_it = auto port_it =
base::ranges::find_if(get_devices_future.Get(), [&](const auto& port) { std::ranges::find_if(get_devices_future.Get(), [&](const auto& port) {
return port->path == base::FilePath::FromASCII(kDeviceAddress); return port->path == base::FilePath::FromASCII(kDeviceAddress);
}); });
ASSERT_NE(port_it, get_devices_future.Get().end()); ASSERT_NE(port_it, get_devices_future.Get().end());
@@ -462,7 +462,7 @@ TEST_F(SerialPortManagerImplTest, BluetoothDeviceConnectedStateChanged) {
TestFuture<std::vector<mojom::SerialPortInfoPtr>> get_devices_future; TestFuture<std::vector<mojom::SerialPortInfoPtr>> get_devices_future;
port_manager->GetDevices(get_devices_future.GetCallback()); port_manager->GetDevices(get_devices_future.GetCallback());
auto port_it = auto port_it =
base::ranges::find_if(get_devices_future.Get(), [&](const auto& port) { std::ranges::find_if(get_devices_future.Get(), [&](const auto& port) {
return port->path == base::FilePath::FromASCII(kDeviceAddress); return port->path == base::FilePath::FromASCII(kDeviceAddress);
}); });
ASSERT_NE(port_it, get_devices_future.Get().end()); ASSERT_NE(port_it, get_devices_future.Get().end());

@@ -6,6 +6,7 @@
#include <stddef.h> #include <stddef.h>
#include <algorithm>
#include <memory> #include <memory>
#include <numeric> #include <numeric>
#include <optional> #include <optional>
@@ -17,7 +18,6 @@
#include "base/functional/callback.h" #include "base/functional/callback.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/ranges/algorithm.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "services/device/public/cpp/usb/usb_utils.h" #include "services/device/public/cpp/usb/usb_utils.h"
#include "services/device/usb/usb_device.h" #include "services/device/usb/usb_device.h"
@@ -173,8 +173,8 @@ bool DeviceImpl::HasControlTransferPermission(
interface = device_handle_->FindInterfaceByEndpoint(index & 0xff); interface = device_handle_->FindInterfaceByEndpoint(index & 0xff);
} else { } else {
auto interface_it = auto interface_it =
base::ranges::find(config->interfaces, index & 0xff, std::ranges::find(config->interfaces, index & 0xff,
&mojom::UsbInterfaceInfo::interface_number); &mojom::UsbInterfaceInfo::interface_number);
if (interface_it != config->interfaces.end()) if (interface_it != config->interfaces.end())
interface = interface_it->get(); interface = interface_it->get();
} }
@@ -267,8 +267,8 @@ void DeviceImpl::ClaimInterface(uint8_t interface_number,
} }
auto interface_it = auto interface_it =
base::ranges::find(config->interfaces, interface_number, std::ranges::find(config->interfaces, interface_number,
&mojom::UsbInterfaceInfo::interface_number); &mojom::UsbInterfaceInfo::interface_number);
if (interface_it == config->interfaces.end()) { if (interface_it == config->interfaces.end()) {
std::move(callback).Run(mojom::UsbClaimInterfaceResult::kFailure); std::move(callback).Run(mojom::UsbClaimInterfaceResult::kFailure);
return; return;

@@ -9,11 +9,10 @@
#pragma allow_unsafe_buffers #pragma allow_unsafe_buffers
#endif #endif
#include "services/device/usb/mojo/device_impl.h"
#include <stddef.h> #include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <map> #include <map>
#include <memory> #include <memory>
#include <set> #include <set>
@@ -27,7 +26,6 @@
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/functional/callback_helpers.h" #include "base/functional/callback_helpers.h"
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/ranges/algorithm.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
@@ -39,6 +37,7 @@
#include "mojo/public/cpp/test_support/test_utils.h" #include "mojo/public/cpp/test_support/test_utils.h"
#include "services/device/usb/mock_usb_device.h" #include "services/device/usb/mock_usb_device.h"
#include "services/device/usb/mock_usb_device_handle.h" #include "services/device/usb/mock_usb_device_handle.h"
#include "services/device/usb/mojo/device_impl.h"
#include "services/device/usb/usb_descriptors.h" #include "services/device/usb/usb_descriptors.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
@@ -994,11 +993,11 @@ TEST_F(USBDeviceImplTest, GenericTransfer) {
std::string message1 = "say hello please"; std::string message1 = "say hello please";
std::vector<uint8_t> fake_outbound_data(message1.size()); std::vector<uint8_t> fake_outbound_data(message1.size());
base::ranges::copy(message1, fake_outbound_data.begin()); std::ranges::copy(message1, fake_outbound_data.begin());
std::string message2 = "hello world!"; std::string message2 = "hello world!";
std::vector<uint8_t> fake_inbound_data(message2.size()); std::vector<uint8_t> fake_inbound_data(message2.size());
base::ranges::copy(message2, fake_inbound_data.begin()); std::ranges::copy(message2, fake_inbound_data.begin());
AddMockConfig(ConfigBuilder(1).AddInterface(7, 0, 1, 2, 3).Build()); AddMockConfig(ConfigBuilder(1).AddInterface(7, 0, 1, 2, 3).Build());
AddMockOutboundData(fake_outbound_data); AddMockOutboundData(fake_outbound_data);
@@ -1064,11 +1063,11 @@ TEST_F(USBDeviceImplTest, IsochronousTransfer) {
std::string outbound_data = "aaaaaaaabbbbbbbbccccccccdddddddd"; std::string outbound_data = "aaaaaaaabbbbbbbbccccccccdddddddd";
std::vector<uint8_t> fake_outbound_data(outbound_data.size()); std::vector<uint8_t> fake_outbound_data(outbound_data.size());
base::ranges::copy(outbound_data, fake_outbound_data.begin()); std::ranges::copy(outbound_data, fake_outbound_data.begin());
std::string inbound_data = "ddddddddccccccccbbbbbbbbaaaaaaaa"; std::string inbound_data = "ddddddddccccccccbbbbbbbbaaaaaaaa";
std::vector<uint8_t> fake_inbound_data(inbound_data.size()); std::vector<uint8_t> fake_inbound_data(inbound_data.size());
base::ranges::copy(inbound_data, fake_inbound_data.begin()); std::ranges::copy(inbound_data, fake_inbound_data.begin());
AddMockConfig(ConfigBuilder(1).AddInterface(7, 0, 1, 2, 3).Build()); AddMockConfig(ConfigBuilder(1).AddInterface(7, 0, 1, 2, 3).Build());
AddMockOutboundPackets(fake_outbound_data, std::move(fake_packets_in)); AddMockOutboundPackets(fake_outbound_data, std::move(fake_packets_in));
@@ -1120,11 +1119,11 @@ TEST_F(USBDeviceImplTest, IsochronousTransferOutBufferSizeMismatch) {
std::string outbound_data = "aaaaaaaabbbbbbbbccccccccdddddddd"; std::string outbound_data = "aaaaaaaabbbbbbbbccccccccdddddddd";
std::vector<uint8_t> fake_outbound_data(outbound_data.size()); std::vector<uint8_t> fake_outbound_data(outbound_data.size());
base::ranges::copy(outbound_data, fake_outbound_data.begin()); std::ranges::copy(outbound_data, fake_outbound_data.begin());
std::string inbound_data = "ddddddddccccccccbbbbbbbbaaaaaaaa"; std::string inbound_data = "ddddddddccccccccbbbbbbbbaaaaaaaa";
std::vector<uint8_t> fake_inbound_data(inbound_data.size()); std::vector<uint8_t> fake_inbound_data(inbound_data.size());
base::ranges::copy(inbound_data, fake_inbound_data.begin()); std::ranges::copy(inbound_data, fake_inbound_data.begin());
AddMockConfig(ConfigBuilder(/*configuration_value=*/1) AddMockConfig(ConfigBuilder(/*configuration_value=*/1)
.AddInterface(/*interface_number=*/7, .AddInterface(/*interface_number=*/7,
@@ -1173,11 +1172,11 @@ TEST_F(USBDeviceImplTest, IsochronousTransferPacketLengthsOverflow) {
std::string outbound_data = "aaaaaaaabbbbbbbb"; std::string outbound_data = "aaaaaaaabbbbbbbb";
std::vector<uint8_t> fake_outbound_data(outbound_data.size()); std::vector<uint8_t> fake_outbound_data(outbound_data.size());
base::ranges::copy(outbound_data, fake_outbound_data.begin()); std::ranges::copy(outbound_data, fake_outbound_data.begin());
std::string inbound_data = "bbbbbbbbaaaaaaaa"; std::string inbound_data = "bbbbbbbbaaaaaaaa";
std::vector<uint8_t> fake_inbound_data(inbound_data.size()); std::vector<uint8_t> fake_inbound_data(inbound_data.size());
base::ranges::copy(inbound_data, fake_inbound_data.begin()); std::ranges::copy(inbound_data, fake_inbound_data.begin());
AddMockConfig(ConfigBuilder(/*configuration_value=*/1) AddMockConfig(ConfigBuilder(/*configuration_value=*/1)
.AddInterface(/*interface_number=*/7, .AddInterface(/*interface_number=*/7,

@@ -13,6 +13,7 @@
#include <linux/usbdevice_fs.h> #include <linux/usbdevice_fs.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <algorithm>
#include <numeric> #include <numeric>
#include <tuple> #include <tuple>
#include <utility> #include <utility>
@@ -26,7 +27,6 @@
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/posix/eintr_wrapper.h" #include "base/posix/eintr_wrapper.h"
#include "base/ranges/algorithm.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h" #include "base/task/single_thread_task_runner.h"
@@ -992,8 +992,8 @@ void UsbDeviceHandleUsbfs::OnTimeout(Transfer* transfer) {
std::unique_ptr<UsbDeviceHandleUsbfs::Transfer> std::unique_ptr<UsbDeviceHandleUsbfs::Transfer>
UsbDeviceHandleUsbfs::RemoveFromTransferList(Transfer* transfer_ptr) { UsbDeviceHandleUsbfs::RemoveFromTransferList(Transfer* transfer_ptr) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
auto it = base::ranges::find(transfers_, transfer_ptr, auto it = std::ranges::find(transfers_, transfer_ptr,
&std::unique_ptr<Transfer>::get); &std::unique_ptr<Transfer>::get);
CHECK(it != transfers_.end(), base::NotFatalUntil::M130); CHECK(it != transfers_.end(), base::NotFatalUntil::M130);
std::unique_ptr<Transfer> transfer = std::move(*it); std::unique_ptr<Transfer> transfer = std::move(*it);
transfers_.erase(it); transfers_.erase(it);

@@ -11,6 +11,7 @@
#include <winioctl.h> #include <winioctl.h>
#include <winusb.h> #include <winusb.h>
#include <algorithm>
#include <memory> #include <memory>
#include <numeric> #include <numeric>
#include <string> #include <string>
@@ -24,7 +25,6 @@
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h" #include "base/task/thread_pool.h"
#include "base/threading/scoped_blocking_call.h" #include "base/threading/scoped_blocking_call.h"
@@ -1009,8 +1009,8 @@ UsbDeviceHandleWin::Request* UsbDeviceHandleWin::MakeRequest(
std::unique_ptr<UsbDeviceHandleWin::Request> UsbDeviceHandleWin::UnlinkRequest( std::unique_ptr<UsbDeviceHandleWin::Request> UsbDeviceHandleWin::UnlinkRequest(
UsbDeviceHandleWin::Request* request_ptr) { UsbDeviceHandleWin::Request* request_ptr) {
auto it = base::ranges::find(requests_, request_ptr, auto it =
&std::unique_ptr<Request>::get); std::ranges::find(requests_, request_ptr, &std::unique_ptr<Request>::get);
CHECK(it != requests_.end(), base::NotFatalUntil::M130); CHECK(it != requests_.end(), base::NotFatalUntil::M130);
std::unique_ptr<Request> request = std::move(*it); std::unique_ptr<Request> request = std::move(*it);
requests_.erase(it); requests_.erase(it);

@@ -4,6 +4,7 @@
#include "services/image_annotation/annotator.h" #include "services/image_annotation/annotator.h"
#include <algorithm>
#include <string_view> #include <string_view>
#include <tuple> #include <tuple>
#include <utility> #include <utility>
@@ -18,7 +19,6 @@
#include "base/location.h" #include "base/location.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "base/values.h" #include "base/values.h"
@@ -1103,11 +1103,11 @@ std::string Annotator::ComputePreferredLanguage(
std::string page_language = NormalizeLanguageCode(in_page_language); std::string page_language = NormalizeLanguageCode(in_page_language);
std::vector<std::string> accept_languages = client_->GetAcceptLanguages(); std::vector<std::string> accept_languages = client_->GetAcceptLanguages();
base::ranges::transform(accept_languages, accept_languages.begin(), std::ranges::transform(accept_languages, accept_languages.begin(),
NormalizeLanguageCode); NormalizeLanguageCode);
std::vector<std::string> top_languages = client_->GetTopLanguages(); std::vector<std::string> top_languages = client_->GetTopLanguages();
base::ranges::transform(top_languages, top_languages.begin(), std::ranges::transform(top_languages, top_languages.begin(),
NormalizeLanguageCode); NormalizeLanguageCode);
// If the page language is a server language and it's in the list of accept // If the page language is a server language and it's in the list of accept
// languages or top languages for this user, return that. // languages or top languages for this user, return that.

@@ -4,6 +4,7 @@
#include "services/media_session/audio_focus_manager.h" #include "services/media_session/audio_focus_manager.h"
#include <algorithm>
#include <memory> #include <memory>
#include <utility> #include <utility>
#include <vector> #include <vector>
@@ -11,7 +12,6 @@
#include "base/containers/adapters.h" #include "base/containers/adapters.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/functional/callback.h" #include "base/functional/callback.h"
#include "base/ranges/algorithm.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/power_monitor_test.h" #include "base/test/power_monitor_test.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
@@ -243,9 +243,8 @@ class AudioFocusManagerTest
private: private:
int GetCountForType(mojom::AudioFocusType type) { int GetCountForType(mojom::AudioFocusType type) {
const auto audio_focus_requests = GetRequests(); const auto audio_focus_requests = GetRequests();
return base::ranges::count( return std::ranges::count(audio_focus_requests, type,
audio_focus_requests, type, &mojom::AudioFocusRequestState::audio_focus_type);
&mojom::AudioFocusRequestState::audio_focus_type);
} }
std::vector<mojom::AudioFocusRequestStatePtr> GetRequests() { std::vector<mojom::AudioFocusRequestStatePtr> GetRequests() {

@@ -4,11 +4,11 @@
#include "services/media_session/public/cpp/test/mock_media_session.h" #include "services/media_session/public/cpp/test/mock_media_session.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/ranges/algorithm.h"
namespace media_session { namespace media_session {
namespace test { namespace test {
@@ -82,8 +82,8 @@ void MockMediaSessionMojoObserver::MediaSessionInfoChanged(
session_info_->microphone_state == wanted_microphone_state_ || session_info_->microphone_state == wanted_microphone_state_ ||
session_info_->camera_state == wanted_camera_state_ || session_info_->camera_state == wanted_camera_state_ ||
(wanted_audio_video_states_ && (wanted_audio_video_states_ &&
base::ranges::is_permutation(*session_info_->audio_video_states, std::ranges::is_permutation(*session_info_->audio_video_states,
*wanted_audio_video_states_))) { *wanted_audio_video_states_))) {
QuitWaitingIfNeeded(); QuitWaitingIfNeeded();
} }
} }
@@ -189,7 +189,7 @@ void MockMediaSessionMojoObserver::WaitForCameraState(
void MockMediaSessionMojoObserver::WaitForAudioVideoStates( void MockMediaSessionMojoObserver::WaitForAudioVideoStates(
const std::vector<mojom::MediaAudioVideoState>& wanted_states) { const std::vector<mojom::MediaAudioVideoState>& wanted_states) {
if (session_info_ && base::ranges::is_permutation( if (session_info_ && std::ranges::is_permutation(
*session_info_->audio_video_states, wanted_states)) { *session_info_->audio_video_states, wanted_states)) {
return; return;
} }

@@ -6,6 +6,7 @@
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <optional> #include <optional>
#include <string> #include <string>
#include <utility> #include <utility>
@@ -13,7 +14,6 @@
#include "base/check.h" #include "base/check.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/types/cxx23_to_underlying.h" #include "base/types/cxx23_to_underlying.h"
#include "net/http/structured_headers.h" #include "net/http/structured_headers.h"
@@ -98,7 +98,7 @@ void ApplyGrease(std::vector<net::structured_headers::DictionaryMember>& dict,
if (dict.size() > 1 && options.reverse) { if (dict.size() > 1 && options.reverse) {
// Dictionaries retain order during serialization, so reordering helps // Dictionaries retain order during serialization, so reordering helps
// ensure that recipients do not depend on it. // ensure that recipients do not depend on it.
base::ranges::reverse(dict); std::ranges::reverse(dict);
} }
} }

@@ -4,6 +4,7 @@
#include "services/network/cookie_settings.h" #include "services/network/cookie_settings.h"
#include <algorithm>
#include <functional> #include <functional>
#include <iterator> #include <iterator>
#include <memory> #include <memory>
@@ -15,7 +16,6 @@
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/strings/to_string.h" #include "base/strings/to_string.h"
#include "base/types/optional_ref.h" #include "base/types/optional_ref.h"
#include "base/types/optional_util.h" #include "base/types/optional_util.h"

@@ -4,13 +4,13 @@
#include "services/network/ignore_errors_cert_verifier.h" #include "services/network/ignore_errors_cert_verifier.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <string_view> #include <string_view>
#include <utility> #include <utility>
#include "base/base64.h" #include "base/base64.h"
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
#include "crypto/sha2.h" #include "crypto/sha2.h"
#include "net/base/hash_value.h" #include "net/base/hash_value.h"
@@ -100,7 +100,7 @@ int IgnoreErrorsCertVerifier::Verify(const RequestParams& params,
if (ignore_errors) { if (ignore_errors) {
verify_result->Reset(); verify_result->Reset();
verify_result->verified_cert = params.certificate(); verify_result->verified_cert = params.certificate();
base::ranges::transform( std::ranges::transform(
spki_fingerprints, std::back_inserter(verify_result->public_key_hashes), spki_fingerprints, std::back_inserter(verify_result->public_key_hashes),
[](const SHA256HashValue& v) { return HashValue(v); }); [](const SHA256HashValue& v) { return HashValue(v); });
if (!params.ocsp_response().empty()) { if (!params.ocsp_response().empty()) {

@@ -4,10 +4,10 @@
#include "services/network/network_change_manager.h" #include "services/network/network_change_manager.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/ranges/algorithm.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "net/base/network_change_notifier.h" #include "net/base/network_change_notifier.h"
@@ -110,7 +110,7 @@ size_t NetworkChangeManager::GetNumClientsForTesting() const {
void NetworkChangeManager::NotificationPipeBroken( void NetworkChangeManager::NotificationPipeBroken(
mojom::NetworkChangeManagerClient* client) { mojom::NetworkChangeManagerClient* client) {
clients_.erase(base::ranges::find( clients_.erase(std::ranges::find(
clients_, client, &mojo::Remote<mojom::NetworkChangeManagerClient>::get)); clients_, client, &mojo::Remote<mojom::NetworkChangeManagerClient>::get));
} }

@@ -29,7 +29,6 @@
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -2469,7 +2468,7 @@ const net::HttpAuthPreferences* NetworkContext::GetHttpAuthPreferences() const {
} }
size_t NetworkContext::NumOpenWebTransports() const { size_t NetworkContext::NumOpenWebTransports() const {
return base::ranges::count(web_transports_, false, &WebTransport::torn_down); return std::ranges::count(web_transports_, false, &WebTransport::torn_down);
} }
bool NetworkContext::AllURLLoaderFactoriesAreBoundToNetworkForTesting( bool NetworkContext::AllURLLoaderFactoriesAreBoundToNetworkForTesting(

@@ -29,7 +29,6 @@
#include "base/metrics/field_trial.h" #include "base/metrics/field_trial.h"
#include "base/power_monitor/power_monitor.h" #include "base/power_monitor/power_monitor.h"
#include "base/power_monitor/power_monitor_source.h" #include "base/power_monitor/power_monitor_source.h"
#include "base/ranges/algorithm.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/strings/escape.h" #include "base/strings/escape.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
@@ -6861,7 +6860,7 @@ TEST_F(NetworkContextTest, HangingHeaderClientAbortDuringOnHeadersReceived) {
const net::cookie_util::ParsedRequestCookies& cookies, const net::cookie_util::ParsedRequestCookies& cookies,
std::string_view name) { std::string_view name) {
auto it = auto it =
base::ranges::find(cookies, name, [](const auto& p) { return p.first; }); std::ranges::find(cookies, name, [](const auto& p) { return p.first; });
if (it == cookies.end()) { if (it == cookies.end()) {
return ::testing::AssertionFailure() << "no cookie named " << name; return ::testing::AssertionFailure() << "no cookie named " << name;
} }
@@ -6873,7 +6872,7 @@ TEST_F(NetworkContextTest, HangingHeaderClientAbortDuringOnHeadersReceived) {
std::string_view name, std::string_view name,
std::string_view value) { std::string_view value) {
auto it = auto it =
base::ranges::find(cookies, name, [](const auto& p) { return p.first; }); std::ranges::find(cookies, name, [](const auto& p) { return p.first; });
if (it == cookies.end()) { if (it == cookies.end()) {
return ::testing::AssertionFailure() << "no cookie named " << name; return ::testing::AssertionFailure() << "no cookie named " << name;
} }
@@ -9632,7 +9631,7 @@ TEST_F(NetworkContextTest, ExemptUrlFromNetworkRevocationForNonce_InvalidURLs) {
const std::string& url) { const std::string& url) {
return network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(url)); return network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(url));
}; };
ASSERT_TRUE(base::ranges::all_of(invalid_urls, is_network_allowed)); ASSERT_TRUE(std::ranges::all_of(invalid_urls, is_network_allowed));
ASSERT_TRUE( ASSERT_TRUE(
network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(valid_url))); network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(valid_url)));
@@ -9643,7 +9642,7 @@ TEST_F(NetworkContextTest, ExemptUrlFromNetworkRevocationForNonce_InvalidURLs) {
EXPECT_TRUE(revoked.Wait()); EXPECT_TRUE(revoked.Wait());
// Now the `invalid_urls` and the `valid_url` all have network disabled. // Now the `invalid_urls` and the `valid_url` all have network disabled.
ASSERT_TRUE(base::ranges::none_of(invalid_urls, is_network_allowed)); ASSERT_TRUE(std::ranges::none_of(invalid_urls, is_network_allowed));
ASSERT_FALSE( ASSERT_FALSE(
network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(valid_url))); network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(valid_url)));
@@ -9657,7 +9656,7 @@ TEST_F(NetworkContextTest, ExemptUrlFromNetworkRevocationForNonce_InvalidURLs) {
// Now the `valid_url` should be exempted. The `invalid_urls` are still // Now the `valid_url` should be exempted. The `invalid_urls` are still
// disabled for network. // disabled for network.
ASSERT_TRUE(base::ranges::none_of(invalid_urls, is_network_allowed)); ASSERT_TRUE(std::ranges::none_of(invalid_urls, is_network_allowed));
ASSERT_TRUE( ASSERT_TRUE(
network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(valid_url))); network_context->IsNetworkForNonceAndUrlAllowed(nonce, GURL(valid_url)));
} }
@@ -10278,7 +10277,7 @@ class StorageAccessHeaderNetworkContextTest : public NetworkContextTest {
ContentSettingsType content_type, ContentSettingsType content_type,
std::initializer_list<PatternsAndSetting> patterns) { std::initializer_list<PatternsAndSetting> patterns) {
std::vector<ContentSettingPatternSource> settings; std::vector<ContentSettingPatternSource> settings;
base::ranges::transform( std::ranges::transform(
patterns, std::back_inserter(settings), patterns, std::back_inserter(settings),
[](const PatternsAndSetting& patterns_and_setting) { [](const PatternsAndSetting& patterns_and_setting) {
return ContentSettingPatternSource( return ContentSettingPatternSource(

@@ -4,12 +4,12 @@
#include "services/network/network_service_network_delegate.h" #include "services/network/network_service_network_delegate.h"
#include <algorithm>
#include <optional> #include <optional>
#include <string> #include <string>
#include "base/debug/dump_without_crashing.h" #include "base/debug/dump_without_crashing.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/ranges/algorithm.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/types/optional_util.h" #include "base/types/optional_util.h"
#include "build/build_config.h" #include "build/build_config.h"
@@ -360,7 +360,7 @@ void NetworkServiceNetworkDelegate::OnCanSendReportingReports(
} }
std::vector<url::Origin> origin_vector; std::vector<url::Origin> origin_vector;
base::ranges::copy(origins, std::back_inserter(origin_vector)); std::ranges::copy(origins, std::back_inserter(origin_vector));
client->OnCanSendReportingReports( client->OnCanSendReportingReports(
origin_vector, origin_vector,
base::BindOnce( base::BindOnce(

@@ -4,6 +4,7 @@
#include "services/network/network_service.h" #include "services/network/network_service.h"
#include <algorithm>
#include <cstdint> #include <cstdint>
#include <memory> #include <memory>
#include <optional> #include <optional>
@@ -17,7 +18,6 @@
#include "base/files/scoped_temp_dir.h" #include "base/files/scoped_temp_dir.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "base/ranges/algorithm.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/strings/escape.h" #include "base/strings/escape.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -724,8 +724,8 @@ TEST_F(NetworkServiceTest, DisableDohUpgradeProviders) {
auto FindProviderFeature = auto FindProviderFeature =
[](std::string_view provider) -> base::test::FeatureRef { [](std::string_view provider) -> base::test::FeatureRef {
const auto it = const auto it =
base::ranges::find(net::DohProviderEntry::GetList(), provider, std::ranges::find(net::DohProviderEntry::GetList(), provider,
&net::DohProviderEntry::provider); &net::DohProviderEntry::provider);
CHECK(it != net::DohProviderEntry::GetList().end()) CHECK(it != net::DohProviderEntry::GetList().end())
<< "Provider named \"" << provider << "Provider named \"" << provider
<< "\" not found in DoH provider list."; << "\" not found in DoH provider list.";

@@ -10,7 +10,6 @@
#include "base/i18n/time_formatting.h" #include "base/i18n/time_formatting.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/rand_util.h" #include "base/rand_util.h"
#include "base/ranges/algorithm.h"
#include "mojo/public/cpp/bindings/remote_set.h" #include "mojo/public/cpp/bindings/remote_set.h"
#include "net/base/load_flags.h" #include "net/base/load_flags.h"
#include "net/http/http_log_util.h" #include "net/http/http_log_util.h"

@@ -6,6 +6,7 @@
#include <stddef.h> #include <stddef.h>
#include <algorithm>
#include <set> #include <set>
#include <string> #include <string>
#include <unordered_set> #include <unordered_set>
@@ -19,7 +20,6 @@
#include "base/lazy_instance.h" #include "base/lazy_instance.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "net/base/mime_sniffer.h" #include "net/base/mime_sniffer.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
@@ -164,7 +164,7 @@ const auto& GetNeverSniffedMimeTypes() {
// All items need to be lower-case, to support case-insensitive comparisons // All items need to be lower-case, to support case-insensitive comparisons
// later. // later.
DCHECK(base::ranges::all_of(kNeverSniffedMimeTypes, [](const auto& s) { DCHECK(std::ranges::all_of(kNeverSniffedMimeTypes, [](const auto& s) {
return s == base::ToLowerASCII(s); return s == base::ToLowerASCII(s);
})); }));

@@ -11,6 +11,7 @@
#include <stddef.h> #include <stddef.h>
#include <algorithm>
#include <set> #include <set>
#include <string> #include <string>
#include <unordered_set> #include <unordered_set>
@@ -23,7 +24,6 @@
#include "base/lazy_instance.h" #include "base/lazy_instance.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "net/base/mime_sniffer.h" #include "net/base/mime_sniffer.h"

@@ -11,13 +11,14 @@
#include <stddef.h> #include <stddef.h>
#include <algorithm>
#include "base/check.h" #include "base/check.h"
#include "base/containers/span.h" #include "base/containers/span.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/numerics/byte_conversions.h" #include "base/numerics/byte_conversions.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/task/single_thread_task_runner.h" #include "base/task/single_thread_task_runner.h"
#include "base/test/bind.h" #include "base/test/bind.h"
#include "net/base/io_buffer.h" #include "net/base/io_buffer.h"
@@ -38,8 +39,8 @@ FakeP2PSocketDelegate::~FakeP2PSocketDelegate() {
} }
void FakeP2PSocketDelegate::DestroySocket(P2PSocket* socket) { void FakeP2PSocketDelegate::DestroySocket(P2PSocket* socket) {
auto it = base::ranges::find(sockets_to_be_destroyed_, socket, auto it = std::ranges::find(sockets_to_be_destroyed_, socket,
&std::unique_ptr<P2PSocket>::get); &std::unique_ptr<P2PSocket>::get);
CHECK(it != sockets_to_be_destroyed_.end()); CHECK(it != sockets_to_be_destroyed_.end());
sockets_to_be_destroyed_.erase(it); sockets_to_be_destroyed_.erase(it);
} }

@@ -4,6 +4,7 @@
#include "services/network/prefetch_matches.h" #include "services/network/prefetch_matches.h"
#include <algorithm>
#include <array> #include <array>
#include <functional> #include <functional>
#include <iomanip> #include <iomanip>
@@ -26,7 +27,6 @@
#include "base/memory/scoped_refptr.h" #include "base/memory/scoped_refptr.h"
#include "base/memory/stack_allocated.h" #include "base/memory/stack_allocated.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/ranges/algorithm.h"
#include "build/buildflag.h" #include "build/buildflag.h"
#include "net/base/load_flags.h" #include "net/base/load_flags.h"
#include "net/base/load_flags_to_string.h" #include "net/base/load_flags_to_string.h"

@@ -6,12 +6,12 @@
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/functional/callback_helpers.h" #include "base/functional/callback_helpers.h"
#include "base/ranges/algorithm.h"
#include "base/task/thread_pool.h" #include "base/task/thread_pool.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "base/time/time.h" #include "base/time/time.h"
@@ -148,7 +148,7 @@ mojo_base::BigBuffer TestBigBuffer() {
MATCHER(BigBufferHasExpectedContents, MATCHER(BigBufferHasExpectedContents,
"does the BigBuffer have the right contents") { "does the BigBuffer have the right contents") {
auto expected = TestBigBuffer(); auto expected = TestBigBuffer();
return base::ranges::equal(base::span(expected), base::span(arg)); return std::ranges::equal(base::span(expected), base::span(arg));
} }
// Returns a RedirectInfo object that is useful for use in tests. It is // Returns a RedirectInfo object that is useful for use in tests. It is

@@ -4,6 +4,7 @@
#include "services/network/public/cpp/content_security_policy/content_security_policy.h" #include "services/network/public/cpp/content_security_policy/content_security_policy.h"
#include <algorithm>
#include <sstream> #include <sstream>
#include <string> #include <string>
#include <string_view> #include <string_view>
@@ -12,7 +13,6 @@
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/containers/flat_set.h" #include "base/containers/flat_set.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
@@ -443,7 +443,7 @@ bool ParseHost(std::string_view host, mojom::CSPSource* csp_source) {
for (int i = 0; std::string_view piece : host_pieces) { for (int i = 0; std::string_view piece : host_pieces) {
// Only a trailing dot is allowed. // Only a trailing dot is allowed.
if ((piece.empty() && i + 1 < std::ssize(host_pieces)) || if ((piece.empty() && i + 1 < std::ssize(host_pieces)) ||
!base::ranges::all_of(piece, [](auto c) { !std::ranges::all_of(piece, [](auto c) {
return base::IsAsciiAlpha(c) || base::IsAsciiDigit(c) || c == '-'; return base::IsAsciiAlpha(c) || base::IsAsciiDigit(c) || c == '-';
})) { })) {
return false; return false;
@@ -465,8 +465,8 @@ bool ParsePort(std::string_view port, mojom::CSPSource* csp_source) {
return true; return true;
} }
if (!base::ranges::all_of(port, if (!std::ranges::all_of(port,
base::IsAsciiDigit<std::string_view::value_type>)) { base::IsAsciiDigit<std::string_view::value_type>)) {
return false; return false;
} }
@@ -750,7 +750,7 @@ mojom::CSPSourceListPtr ParseSourceList(
} }
if (contains_none && if (contains_none &&
base::ranges::any_of(tokens, [](const auto& token) -> bool { std::ranges::any_of(tokens, [](const auto& token) -> bool {
return !base::EqualsCaseInsensitiveASCII(token, "'report-sample'") && return !base::EqualsCaseInsensitiveASCII(token, "'report-sample'") &&
!base::EqualsCaseInsensitiveASCII(token, "'none'"); !base::EqualsCaseInsensitiveASCII(token, "'none'");
})) { })) {
@@ -800,7 +800,7 @@ network::mojom::CSPRequireTrustedTypesFor ParseRequireTrustedTypesFor(
// This implements tt-policy-name from // This implements tt-policy-name from
// https://w3c.github.io/trusted-types/dist/spec/#trusted-types-csp-directive // https://w3c.github.io/trusted-types/dist/spec/#trusted-types-csp-directive
bool IsValidTrustedTypesPolicyName(std::string_view value) { bool IsValidTrustedTypesPolicyName(std::string_view value) {
return base::ranges::all_of(value, [](char c) { return std::ranges::all_of(value, [](char c) {
return base::IsAsciiAlpha(c) || base::IsAsciiDigit(c) || return base::IsAsciiAlpha(c) || base::IsAsciiDigit(c) ||
base::Contains("-#=_/@.%", c); base::Contains("-#=_/@.%", c);
}); });
@@ -971,7 +971,7 @@ void AddContentSecurityPolicyFromHeader(
out->self_origin = ComputeSelfOrigin(base_url); out->self_origin = ComputeSelfOrigin(base_url);
for (auto directive : directives) { for (auto directive : directives) {
if (!base::ranges::all_of(directive.first, IsDirectiveNameCharacter)) { if (!std::ranges::all_of(directive.first, IsDirectiveNameCharacter)) {
out->parsing_errors.emplace_back(base::StringPrintf( out->parsing_errors.emplace_back(base::StringPrintf(
"The Content-Security-Policy directive name '%s' contains one or " "The Content-Security-Policy directive name '%s' contains one or "
"more invalid characters. Only ASCII alphanumeric characters or " "more invalid characters. Only ASCII alphanumeric characters or "
@@ -999,7 +999,7 @@ void AddContentSecurityPolicyFromHeader(
} }
out->raw_directives[directive_name] = std::string(directive.second); out->raw_directives[directive_name] = std::string(directive.second);
if (!base::ranges::all_of(directive.second, IsDirectiveValueCharacter)) { if (!std::ranges::all_of(directive.second, IsDirectiveValueCharacter)) {
out->parsing_errors.emplace_back(base::StringPrintf( out->parsing_errors.emplace_back(base::StringPrintf(
"The value for the Content-Security-Policy directive '%s' contains " "The value for the Content-Security-Policy directive '%s' contains "
"one or more invalid characters. In a source expression, " "one or more invalid characters. In a source expression, "
@@ -1538,7 +1538,7 @@ bool Subsumes(const mojom::ContentSecurityPolicy& policy_a,
CSPDirectiveName::FrameAncestors, CSPDirectiveName::FormAction, CSPDirectiveName::FrameAncestors, CSPDirectiveName::FormAction,
CSPDirectiveName::FencedFrameSrc}; CSPDirectiveName::FencedFrameSrc};
return base::ranges::all_of(directives, [&](CSPDirectiveName directive) { return std::ranges::all_of(directives, [&](CSPDirectiveName directive) {
auto required = GetSourceList(directive, policy_a); auto required = GetSourceList(directive, policy_a);
if (!required.second) if (!required.second)
return true; return true;

@@ -4,10 +4,11 @@
#include "services/network/public/cpp/content_security_policy/csp_source_list.h" #include "services/network/public/cpp/content_security_policy/csp_source_list.h"
#include <algorithm>
#include "base/check_op.h" #include "base/check_op.h"
#include "base/containers/flat_set.h" #include "base/containers/flat_set.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/ranges/algorithm.h"
#include "services/network/public/cpp/content_security_policy/content_security_policy.h" #include "services/network/public/cpp/content_security_policy/content_security_policy.h"
#include "services/network/public/cpp/content_security_policy/csp_source.h" #include "services/network/public/cpp/content_security_policy/csp_source.h"
#include "services/network/public/cpp/features.h" #include "services/network/public/cpp/features.h"
@@ -186,8 +187,8 @@ bool UrlSourceListSubsumes(
// Every item in |source_list_b| must be subsumed by at least one item in // Every item in |source_list_b| must be subsumed by at least one item in
// |source_list_a|. // |source_list_a|.
return base::ranges::all_of(source_list_b, [&](const auto& source_b) { return std::ranges::all_of(source_list_b, [&](const auto& source_b) {
return base::ranges::any_of(source_list_a, [&](const auto& source_a) { return std::ranges::any_of(source_list_a, [&](const auto& source_a) {
return CSPSourceSubsumes(*source_a, *source_b); return CSPSourceSubsumes(*source_a, *source_b);
}); });
}); });

@@ -4,8 +4,9 @@
#include "services/network/public/cpp/content_security_policy/csp_source_list.h" #include "services/network/public/cpp/content_security_policy/csp_source_list.h"
#include <algorithm>
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "base/ranges/algorithm.h"
#include "net/http/http_response_headers.h" #include "net/http/http_response_headers.h"
#include "services/network/public/cpp/content_security_policy/content_security_policy.h" #include "services/network/public/cpp/content_security_policy/content_security_policy.h"
#include "services/network/public/mojom/content_security_policy.mojom.h" #include "services/network/public/mojom/content_security_policy.mojom.h"
@@ -56,13 +57,13 @@ std::vector<mojom::CSPSourceListPtr> ParseToVectorOfSourceLists(
mojom::CSPDirectiveName directive, mojom::CSPDirectiveName directive,
const std::vector<std::string>& values) { const std::vector<std::string>& values) {
std::vector<std::string> csp_values(values.size()); std::vector<std::string> csp_values(values.size());
base::ranges::transform(values, csp_values.begin(), std::ranges::transform(values, csp_values.begin(),
[directive](const std::string& s) { [directive](const std::string& s) {
return ToString(directive) + " " + s; return ToString(directive) + " " + s;
}); });
std::vector<mojom::ContentSecurityPolicyPtr> policies = Parse(csp_values); std::vector<mojom::ContentSecurityPolicyPtr> policies = Parse(csp_values);
std::vector<mojom::CSPSourceListPtr> sources(policies.size()); std::vector<mojom::CSPSourceListPtr> sources(policies.size());
base::ranges::transform( std::ranges::transform(
policies, sources.begin(), policies, sources.begin(),
[directive](mojom::ContentSecurityPolicyPtr& p) { [directive](mojom::ContentSecurityPolicyPtr& p) {
return mojom::CSPSourceListPtr(std::move(p->directives[directive])); return mojom::CSPSourceListPtr(std::move(p->directives[directive]));
@@ -73,7 +74,7 @@ std::vector<mojom::CSPSourceListPtr> ParseToVectorOfSourceLists(
std::vector<const mojom::CSPSourceList*> ToRawPointers( std::vector<const mojom::CSPSourceList*> ToRawPointers(
const std::vector<mojom::CSPSourceListPtr>& list) { const std::vector<mojom::CSPSourceListPtr>& list) {
std::vector<const mojom::CSPSourceList*> out(list.size()); std::vector<const mojom::CSPSourceList*> out(list.size());
base::ranges::transform(list, out.begin(), &mojom::CSPSourceListPtr::get); std::ranges::transform(list, out.begin(), &mojom::CSPSourceListPtr::get);
return out; return out;
} }

@@ -18,7 +18,6 @@
#include "base/containers/fixed_flat_set.h" #include "base/containers/fixed_flat_set.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "net/base/mime_util.h" #include "net/base/mime_util.h"
#include "net/http/http_byte_range.h" #include "net/http/http_byte_range.h"
@@ -101,8 +100,9 @@ bool IsCorsUnsafeRequestHeaderByte(char c) {
// |value| should be lower case. // |value| should be lower case.
bool IsCorsSafelistedLowerCaseContentType(const std::string& value) { bool IsCorsSafelistedLowerCaseContentType(const std::string& value) {
DCHECK_EQ(value, base::ToLowerASCII(value)); DCHECK_EQ(value, base::ToLowerASCII(value));
if (base::ranges::any_of(value, IsCorsUnsafeRequestHeaderByte)) if (std::ranges::any_of(value, IsCorsUnsafeRequestHeaderByte)) {
return false; return false;
}
std::optional<std::string> mime_type = std::optional<std::string> mime_type =
net::ExtractMimeTypeFromMediaType(value, net::ExtractMimeTypeFromMediaType(value,
@@ -387,10 +387,10 @@ bool IsCorsSafelistedHeader(const std::string& name, const std::string& value) {
// Verify the values of all non-secure headers (except `intervention`). // Verify the values of all non-secure headers (except `intervention`).
const std::string lower_value = base::ToLowerASCII(value); const std::string lower_value = base::ToLowerASCII(value);
if (lower_name == "accept") { if (lower_name == "accept") {
return !base::ranges::any_of(value, IsCorsUnsafeRequestHeaderByte); return !std::ranges::any_of(value, IsCorsUnsafeRequestHeaderByte);
} else if (lower_name == "accept-language" || } else if (lower_name == "accept-language" ||
lower_name == "content-language") { lower_name == "content-language") {
return base::ranges::all_of(value, [](char c) { return std::ranges::all_of(value, [](char c) {
return (0x30 <= c && c <= 0x39) || (0x41 <= c && c <= 0x5a) || return (0x30 <= c && c <= 0x39) || (0x41 <= c && c <= 0x5a) ||
(0x61 <= c && c <= 0x7a) || c == 0x20 || c == 0x2a || c == 0x2c || (0x61 <= c && c <= 0x7a) || c == 0x20 || c == 0x2a || c == 0x2c ||
c == 0x2d || c == 0x2e || c == 0x3b || c == 0x3d; c == 0x2d || c == 0x2e || c == 0x3b || c == 0x3d;
@@ -404,7 +404,7 @@ bool IsCorsSafelistedHeader(const std::string& name, const std::string& value) {
// - Only one range is provided // - Only one range is provided
// - No suffix (bytes=-x) ranges // - No suffix (bytes=-x) ranges
if (base::ranges::any_of(lower_value, [](char c) { if (std::ranges::any_of(lower_value, [](char c) {
return net::HttpUtil::IsLWS(c) || c == ','; return net::HttpUtil::IsLWS(c) || c == ',';
})) { })) {
return false; return false;

@@ -4,9 +4,9 @@
#include "services/network/public/cpp/cross_origin_opener_policy_parser.h" #include "services/network/public/cpp/cross_origin_opener_policy_parser.h"
#include <algorithm>
#include <string_view> #include <string_view>
#include "base/ranges/algorithm.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "net/http/http_response_headers.h" #include "net/http/http_response_headers.h"
#include "net/http/structured_headers.h" #include "net/http/structured_headers.h"
@@ -86,8 +86,8 @@ void ParseHeader(std::string_view header_value,
mojom::CrossOriginOpenerPolicyValue::kNoopenerAllowPopups; mojom::CrossOriginOpenerPolicyValue::kNoopenerAllowPopups;
} }
} }
auto it = base::ranges::find(item->params, kReportTo, auto it = std::ranges::find(item->params, kReportTo,
&std::pair<std::string, Item>::first); &std::pair<std::string, Item>::first);
if (it != item->params.end() && it->second.is_string()) { if (it != item->params.end() && it->second.is_string()) {
*endpoint = it->second.GetString(); *endpoint = it->second.GetString();
} }

@@ -4,10 +4,10 @@
#include "services/network/public/cpp/first_party_sets_mojom_traits.h" #include "services/network/public/cpp/first_party_sets_mojom_traits.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/containers/flat_map.h" #include "base/containers/flat_map.h"
#include "base/ranges/algorithm.h"
#include "base/version.h" #include "base/version.h"
#include "mojo/public/cpp/base/version_mojom_traits.h" #include "mojo/public/cpp/base/version_mojom_traits.h"
#include "mojo/public/cpp/bindings/enum_traits.h" #include "mojo/public/cpp/bindings/enum_traits.h"
@@ -117,7 +117,7 @@ bool StructTraits<network::mojom::GlobalFirstPartySetsDataView,
if (public_sets_version.IsValid() && !sets.ReadAliases(&aliases)) if (public_sets_version.IsValid() && !sets.ReadAliases(&aliases))
return false; return false;
if (!base::ranges::all_of(aliases, [&](const auto& pair) { if (!std::ranges::all_of(aliases, [&](const auto& pair) {
return entries.contains(pair.second); return entries.contains(pair.second);
})) { })) {
return false; return false;
@@ -134,7 +134,7 @@ bool StructTraits<network::mojom::GlobalFirstPartySetsDataView,
// The manual_config must contain both the alias overrides and their // The manual_config must contain both the alias overrides and their
// corresponding canonical overrides, none of which may be deletions. // corresponding canonical overrides, none of which may be deletions.
if (!base::ranges::all_of(manual_aliases, [&](const auto& pair) { if (!std::ranges::all_of(manual_aliases, [&](const auto& pair) {
std::optional<net::FirstPartySetEntryOverride> aliased_override = std::optional<net::FirstPartySetEntryOverride> aliased_override =
manual_config.FindOverride(pair.first); manual_config.FindOverride(pair.first);
std::optional<net::FirstPartySetEntryOverride> canonical_override = std::optional<net::FirstPartySetEntryOverride> canonical_override =

@@ -4,6 +4,7 @@
#include "services/network/public/cpp/is_potentially_trustworthy.h" #include "services/network/public/cpp/is_potentially_trustworthy.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <optional> #include <optional>
#include <string_view> #include <string_view>
@@ -16,7 +17,6 @@
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/ranges/algorithm.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "base/strings/pattern.h" #include "base/strings/pattern.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
@@ -372,8 +372,8 @@ std::vector<std::string> SecureOriginAllowlist::GetCurrentAllowlist() {
std::vector<std::string> result; std::vector<std::string> result;
result.reserve(cmdline_allowlist_.size() + auxiliary_allowlist_.size()); result.reserve(cmdline_allowlist_.size() + auxiliary_allowlist_.size());
base::ranges::copy(cmdline_allowlist_, std::back_inserter(result)); std::ranges::copy(cmdline_allowlist_, std::back_inserter(result));
base::ranges::copy(auxiliary_allowlist_, std::back_inserter(result)); std::ranges::copy(auxiliary_allowlist_, std::back_inserter(result));
return result; return result;
} }

@@ -4,10 +4,10 @@
#include "services/network/public/cpp/supports_loading_mode/supports_loading_mode_parser.h" #include "services/network/public/cpp/supports_loading_mode/supports_loading_mode_parser.h"
#include <algorithm>
#include <optional> #include <optional>
#include <ranges> #include <ranges>
#include "base/ranges/algorithm.h"
#include "net/http/http_response_headers.h" #include "net/http/http_response_headers.h"
#include "net/http/structured_headers.h" #include "net/http/structured_headers.h"
#include "services/network/public/mojom/supports_loading_mode.mojom.h" #include "services/network/public/mojom/supports_loading_mode.mojom.h"
@@ -56,7 +56,7 @@ mojom::SupportsLoadingModePtr ParseSupportsLoadingMode(
// Each supported token maps 1:1 to an enumerator. // Each supported token maps 1:1 to an enumerator.
const auto& token = item.item.GetString(); const auto& token = item.item.GetString();
const auto* it = const auto* it =
base::ranges::find(kKnownLoadingModes, token, &KnownLoadingMode::token); std::ranges::find(kKnownLoadingModes, token, &KnownLoadingMode::token);
if (it == std::ranges::end(kKnownLoadingModes)) { if (it == std::ranges::end(kKnownLoadingModes)) {
continue; continue;
} }
@@ -66,7 +66,7 @@ mojom::SupportsLoadingModePtr ParseSupportsLoadingMode(
// Order and repetition are not significant. // Order and repetition are not significant.
// Canonicalize by making the vector sorted and unique. // Canonicalize by making the vector sorted and unique.
base::ranges::sort(modes); std::ranges::sort(modes);
auto repeated = std::ranges::unique(modes); auto repeated = std::ranges::unique(modes);
modes.erase(repeated.begin(), repeated.end()); modes.erase(repeated.begin(), repeated.end());
return mojom::SupportsLoadingMode::New(std::move(modes)); return mojom::SupportsLoadingMode::New(std::move(modes));

@@ -4,13 +4,13 @@
#include "services/network/resolve_host_request.h" #include "services/network/resolve_host_request.h"
#include <algorithm>
#include <optional> #include <optional>
#include <string> #include <string>
#include <utility> #include <utility>
#include "base/check_op.h" #include "base/check_op.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/types/optional_util.h" #include "base/types/optional_util.h"
#include "net/base/host_port_pair.h" #include "net/base/host_port_pair.h"
@@ -179,7 +179,7 @@ ResolveHostRequest::GetEndpointResultsWithMetadata() const {
// addresses(non-protocol endpoints), and this information is passed as // addresses(non-protocol endpoints), and this information is passed as
// another parameter at least in OnComplete method, so drop that here to avoid // another parameter at least in OnComplete method, so drop that here to avoid
// providing redundant information. // providing redundant information.
base::ranges::copy_if( std::ranges::copy_if(
*endpoint_results, std::back_inserter(endpoint_results_with_metadata), *endpoint_results, std::back_inserter(endpoint_results_with_metadata),
[](const auto& result) { [](const auto& result) {
return !result.metadata.supported_protocol_alpns.empty(); return !result.metadata.supported_protocol_alpns.empty();

@@ -593,10 +593,9 @@ void RestrictedCookieManager::CookieListToGetAllForUrlCallback(
if (!maybe_included_cookies.empty() && IsPartitionedCookiesEnabled()) { if (!maybe_included_cookies.empty() && IsPartitionedCookiesEnabled()) {
UMA_HISTOGRAM_COUNTS_100( UMA_HISTOGRAM_COUNTS_100(
"Net.RestrictedCookieManager.PartitionedCookiesInScript", "Net.RestrictedCookieManager.PartitionedCookiesInScript",
base::ranges::count_if(result, std::ranges::count_if(result, [](const net::CookieWithAccessResult& c) {
[](const net::CookieWithAccessResult& c) { return c.cookie.IsPartitioned();
return c.cookie.IsPartitioned(); }));
}));
} }
std::move(callback).Run(result); std::move(callback).Run(result);

@@ -4,6 +4,8 @@
#include "services/network/sct_auditing/sct_auditing_handler.h" #include "services/network/sct_auditing/sct_auditing_handler.h"
#include <algorithm>
#include "base/base64.h" #include "base/base64.h"
#include "base/containers/span.h" #include "base/containers/span.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
@@ -13,7 +15,6 @@
#include "base/json/json_writer.h" #include "base/json/json_writer.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/rand_util.h" #include "base/rand_util.h"
#include "base/ranges/algorithm.h"
#include "base/task/bind_post_task.h" #include "base/task/bind_post_task.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h" #include "base/task/thread_pool.h"
@@ -114,7 +115,7 @@ void SCTAuditingHandler::MaybeEnqueueReport(
// a valid signature, and thus are expected to be public certificates. If // a valid signature, and thus are expected to be public certificates. If
// there are no valid SCTs, there's no need to report anything. // there are no valid SCTs, there's no need to report anything.
net::SignedCertificateTimestampAndStatusList validated_scts; net::SignedCertificateTimestampAndStatusList validated_scts;
base::ranges::copy_if( std::ranges::copy_if(
signed_certificate_timestamps, std::back_inserter(validated_scts), signed_certificate_timestamps, std::back_inserter(validated_scts),
[](const auto& sct) { return sct.status == net::ct::SCT_STATUS_OK; }); [](const auto& sct) { return sct.status == net::ct::SCT_STATUS_OK; });
if (validated_scts.empty()) { if (validated_scts.empty()) {
@@ -149,7 +150,7 @@ void SCTAuditingHandler::MaybeEnqueueReport(
// Find the corresponding log entry metadata. // Find the corresponding log entry metadata.
const std::vector<mojom::CTLogInfoPtr>& logs = const std::vector<mojom::CTLogInfoPtr>& logs =
owner_network_context_->network_service()->log_list(); owner_network_context_->network_service()->log_list();
auto log = base::ranges::find(logs, sct->log_id, &mojom::CTLogInfo::id); auto log = std::ranges::find(logs, sct->log_id, &mojom::CTLogInfo::id);
// It's possible that log entry metadata may not exist for a few reasons: // It's possible that log entry metadata may not exist for a few reasons:
// //
// 1) The PKI Metadata component has not yet been loaded and no log list // 1) The PKI Metadata component has not yet been loaded and no log list

@@ -4,12 +4,12 @@
#include "services/network/shared_dictionary/simple_url_pattern_matcher.h" #include "services/network/shared_dictionary/simple_url_pattern_matcher.h"
#include <algorithm>
#include <memory> #include <memory>
#include <optional> #include <optional>
#include <string_view> #include <string_view>
#include "base/logging.h" #include "base/logging.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -216,7 +216,7 @@ SimpleUrlPatternMatcher::CreatePatternInit(
// Spec: If the result of running protocol component matches a special // Spec: If the result of running protocol component matches a special
// scheme given protocol component is true, then set parsers protocol // scheme given protocol component is true, then set parsers protocol
// matches a special scheme flag to true. // matches a special scheme flag to true.
protocol_matches_a_special_scheme_flag = base::ranges::any_of( protocol_matches_a_special_scheme_flag = std::ranges::any_of(
url::GetStandardSchemes(), url::GetStandardSchemes(),
[&protocol_component](const std::string& scheme) { [&protocol_component](const std::string& scheme) {
return protocol_component->Match(scheme); return protocol_component->Match(scheme);
@@ -430,10 +430,10 @@ SimpleUrlPatternMatcher::CreateFromPatternInit(
} }
protocol_component = std::move(protocol_component_result.value()); protocol_component = std::move(protocol_component_result.value());
protocol_matches_a_special_scheme_flag = protocol_matches_a_special_scheme_flag =
base::ranges::any_of(url::GetStandardSchemes(), std::ranges::any_of(url::GetStandardSchemes(),
[&protocol_component](const std::string& scheme) { [&protocol_component](const std::string& scheme) {
return protocol_component->Match(scheme); return protocol_component->Match(scheme);
}); });
} }
#define MAYBE_COMPILE_PATTERN(type, callback, options) \ #define MAYBE_COMPILE_PATTERN(type, callback, options) \

@@ -366,7 +366,7 @@ TEST_F(TCPBoundSocketTest, ReadWrite) {
} }
if (result != MOJO_RESULT_OK) if (result != MOJO_RESULT_OK)
break; break;
base::ranges::fill(buffer, 0); std::ranges::fill(buffer, 0);
client_socket_send_handle->EndWriteData(buffer.size()); client_socket_send_handle->EndWriteData(buffer.size());
} }
// Wait for write error on the client socket. Don't check exact error, out of // Wait for write error on the client socket. Don't check exact error, out of

@@ -4,6 +4,7 @@
#include "services/network/trust_tokens/boringssl_trust_token_test_utils.h" #include "services/network/trust_tokens/boringssl_trust_token_test_utils.h"
#include <algorithm>
#include <cstdint> #include <cstdint>
#include <optional> #include <optional>
#include <string> #include <string>
@@ -12,7 +13,6 @@
#include "base/base64.h" #include "base/base64.h"
#include "base/containers/span.h" #include "base/containers/span.h"
#include "base/ranges/algorithm.h"
#include "services/network/trust_tokens/scoped_boringssl_bytes.h" #include "services/network/trust_tokens/scoped_boringssl_bytes.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "third_party/boringssl/src/include/openssl/base.h" #include "third_party/boringssl/src/include/openssl/base.h"
@@ -161,11 +161,11 @@ bssl::UniquePtr<TRUST_TOKEN> TestTrustTokenIssuer::Redeem(
}; };
EXPECT_EQ(received_private_metadata, kPrivateMetadata); EXPECT_EQ(received_private_metadata, kPrivateMetadata);
EXPECT_NE(base::ranges::find_if(keys_, EXPECT_NE(std::ranges::find_if(keys_,
[&received_public_metadata](auto& key) { [&received_public_metadata](auto& key) {
return key.key_id == return key.key_id ==
received_public_metadata; received_public_metadata;
}), }),
std::end(keys_)); std::end(keys_));
return bssl::UniquePtr<TRUST_TOKEN>(redeemed_token); return bssl::UniquePtr<TRUST_TOKEN>(redeemed_token);
@@ -200,11 +200,11 @@ bssl::UniquePtr<TRUST_TOKEN> TestTrustTokenIssuer::RedeemOverMessage(
} }
EXPECT_EQ(received_private_metadata, 1); EXPECT_EQ(received_private_metadata, 1);
EXPECT_NE(base::ranges::find_if(keys_, EXPECT_NE(std::ranges::find_if(keys_,
[&received_public_metadata](auto& key) { [&received_public_metadata](auto& key) {
return key.key_id == return key.key_id ==
received_public_metadata; received_public_metadata;
}), }),
std::end(keys_)); std::end(keys_));
return bssl::UniquePtr<TRUST_TOKEN>(redeemed_token); return bssl::UniquePtr<TRUST_TOKEN>(redeemed_token);

@@ -4,10 +4,11 @@
#include "services/network/trust_tokens/trust_token_key_commitment_parser.h" #include "services/network/trust_tokens/trust_token_key_commitment_parser.h"
#include <algorithm>
#include "base/base64.h" #include "base/base64.h"
#include "base/json/json_reader.h" #include "base/json/json_reader.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/values.h" #include "base/values.h"
#include "services/network/public/mojom/trust_tokens.mojom.h" #include "services/network/public/mojom/trust_tokens.mojom.h"

@@ -4,10 +4,10 @@
#include "services/network/trust_tokens/trust_token_key_commitments.h" #include "services/network/trust_tokens/trust_token_key_commitments.h"
#include <algorithm>
#include <array> #include <array>
#include "base/base64.h" #include "base/base64.h"
#include "base/ranges/algorithm.h"
#include "base/test/bind.h" #include "base/test/bind.h"
#include "base/test/scoped_command_line.h" #include "base/test/scoped_command_line.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
@@ -217,7 +217,7 @@ TEST(TrustTokenKeyCommitments, FiltersKeys) {
auto result = GetCommitmentForOrigin(commitments, origin); auto result = GetCommitmentForOrigin(commitments, origin);
EXPECT_EQ(result->keys.size(), max_keys); EXPECT_EQ(result->keys.size(), max_keys);
EXPECT_TRUE(base::ranges::all_of( EXPECT_TRUE(std::ranges::all_of(
result->keys, [](const mojom::TrustTokenVerificationKeyPtr& key) { result->keys, [](const mojom::TrustTokenVerificationKeyPtr& key) {
return key->expiry == base::Time::Now() + base::Minutes(1); return key->expiry == base::Time::Now() + base::Minutes(1);
})); }));

@@ -2,13 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "services/network/trust_tokens/trust_token_key_filtering.h"
#include <algorithm>
#include <vector> #include <vector>
#include "base/ranges/algorithm.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "services/network/public/mojom/trust_tokens.mojom-forward.h" #include "services/network/public/mojom/trust_tokens.mojom-forward.h"
#include "services/network/public/mojom/trust_tokens.mojom.h" #include "services/network/public/mojom/trust_tokens.mojom.h"
#include "services/network/trust_tokens/trust_token_key_filtering.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace network { namespace network {
@@ -118,11 +119,11 @@ TEST(TrustTokenKeyFiltering, MixOfPastAndFutureKeys) {
RetainSoonestToExpireTrustTokenKeys(&keys, 3); RetainSoonestToExpireTrustTokenKeys(&keys, 3);
EXPECT_EQ(keys.size(), 2u); EXPECT_EQ(keys.size(), 2u);
EXPECT_TRUE(base::ranges::any_of( EXPECT_TRUE(std::ranges::any_of(
keys, [&early_key](const mojom::TrustTokenVerificationKeyPtr& key) { keys, [&early_key](const mojom::TrustTokenVerificationKeyPtr& key) {
return mojo::Equals(key, early_key); return mojo::Equals(key, early_key);
})); }));
EXPECT_TRUE(base::ranges::any_of( EXPECT_TRUE(std::ranges::any_of(
keys, [&late_key](const mojom::TrustTokenVerificationKeyPtr& key) { keys, [&late_key](const mojom::TrustTokenVerificationKeyPtr& key) {
return mojo::Equals(key, late_key); return mojo::Equals(key, late_key);
})); }));
@@ -159,15 +160,15 @@ TEST(TrustTokenKeyFiltering, BreaksTiesBasedOnBody) {
RetainSoonestToExpireTrustTokenKeys(&keys, 3); RetainSoonestToExpireTrustTokenKeys(&keys, 3);
EXPECT_EQ(keys.size(), 3u); EXPECT_EQ(keys.size(), 3u);
EXPECT_TRUE(base::ranges::any_of( EXPECT_TRUE(std::ranges::any_of(
keys, [&a_key](const mojom::TrustTokenVerificationKeyPtr& key) { keys, [&a_key](const mojom::TrustTokenVerificationKeyPtr& key) {
return mojo::Equals(key, a_key); return mojo::Equals(key, a_key);
})); }));
EXPECT_TRUE(base::ranges::any_of( EXPECT_TRUE(std::ranges::any_of(
keys, [&b_key](const mojom::TrustTokenVerificationKeyPtr& key) { keys, [&b_key](const mojom::TrustTokenVerificationKeyPtr& key) {
return mojo::Equals(key, b_key); return mojo::Equals(key, b_key);
})); }));
EXPECT_TRUE(base::ranges::any_of( EXPECT_TRUE(std::ranges::any_of(
keys, [&early_key](const mojom::TrustTokenVerificationKeyPtr& key) { keys, [&early_key](const mojom::TrustTokenVerificationKeyPtr& key) {
return mojo::Equals(key, early_key); return mojo::Equals(key, early_key);
})); }));

@@ -4,13 +4,13 @@
#include "services/network/trust_tokens/trust_token_request_issuance_helper.h" #include "services/network/trust_tokens/trust_token_request_issuance_helper.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/command_line.h" #include "base/command_line.h"
#include "base/functional/callback.h" #include "base/functional/callback.h"
#include "base/metrics/field_trial_params.h" #include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/ranges/algorithm.h"
#include "base/task/thread_pool.h" #include "base/task/thread_pool.h"
#include "net/base/load_flags.h" #include "net/base/load_flags.h"
#include "net/http/http_response_headers.h" #include "net/http/http_response_headers.h"

@@ -4,6 +4,7 @@
#include "services/network/trust_tokens/trust_token_request_signing_helper.h" #include "services/network/trust_tokens/trust_token_request_signing_helper.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <memory> #include <memory>
#include <optional> #include <optional>
@@ -14,7 +15,6 @@
#include "base/base64.h" #include "base/base64.h"
#include "base/containers/flat_set.h" #include "base/containers/flat_set.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"

@@ -4,6 +4,7 @@
#include "services/network/trust_tokens/trust_token_request_signing_helper.h" #include "services/network/trust_tokens/trust_token_request_signing_helper.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <memory> #include <memory>
#include <optional> #include <optional>
@@ -13,7 +14,6 @@
#include "base/base64.h" #include "base/base64.h"
#include "base/containers/span.h" #include "base/containers/span.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"

@@ -4,13 +4,13 @@
#include "services/network/trust_tokens/trust_token_store.h" #include "services/network/trust_tokens/trust_token_store.h"
#include <algorithm>
#include <map> #include <map>
#include <memory> #include <memory>
#include <optional> #include <optional>
#include <utility> #include <utility>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "services/network/public/cpp/is_potentially_trustworthy.h" #include "services/network/public/cpp/is_potentially_trustworthy.h"
#include "services/network/public/cpp/trust_token_parameterization.h" #include "services/network/public/cpp/trust_token_parameterization.h"
@@ -224,11 +224,11 @@ std::vector<TrustToken> TrustTokenStore::RetrieveMatchingTokens(
if (!config) if (!config)
return matching_tokens; return matching_tokens;
base::ranges::copy_if(config->tokens(), std::back_inserter(matching_tokens), std::ranges::copy_if(config->tokens(), std::back_inserter(matching_tokens),
[&key_matcher](const TrustToken& token) { [&key_matcher](const TrustToken& token) {
return token.has_signing_key() && return token.has_signing_key() &&
key_matcher.Run(token.signing_key()); key_matcher.Run(token.signing_key());
}); });
return matching_tokens; return matching_tokens;
} }

@@ -28,7 +28,6 @@
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/not_fatal_until.h" #include "base/not_fatal_until.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -1695,8 +1694,8 @@ mojom::URLResponseHeadPtr URLLoader::BuildResponseHead() const {
response->has_range_requested = response->has_range_requested =
url_request_->extra_request_headers().HasHeader( url_request_->extra_request_headers().HasHeader(
net::HttpRequestHeaders::kRange); net::HttpRequestHeaders::kRange);
base::ranges::copy(url_request_->response_info().dns_aliases, std::ranges::copy(url_request_->response_info().dns_aliases,
std::back_inserter(response->dns_aliases)); std::back_inserter(response->dns_aliases));
// [spec]: https://fetch.spec.whatwg.org/#http-network-or-cache-fetch // [spec]: https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
// 13. Set responses request-includes-credentials to includeCredentials. // 13. Set responses request-includes-credentials to includeCredentials.
response->request_include_credentials = url_request_->allow_credentials(); response->request_include_credentials = url_request_->allow_credentials();

@@ -4,10 +4,11 @@
#include "services/network/web_bundle/web_bundle_manager.h" #include "services/network/web_bundle/web_bundle_manager.h"
#include <algorithm>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/ranges/algorithm.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/web_package/web_bundle_utils.h" #include "components/web_package/web_bundle_utils.h"
#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/remote.h"

@@ -4,12 +4,12 @@
#include "services/network/web_bundle/web_bundle_url_loader_factory.h" #include "services/network/web_bundle/web_bundle_url_loader_factory.h"
#include <algorithm>
#include <optional> #include <optional>
#include "base/functional/callback.h" #include "base/functional/callback.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/task/sequenced_task_runner.h" #include "base/task/sequenced_task_runner.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
@@ -748,7 +748,7 @@ void WebBundleURLLoaderFactory::OnMetadataParsed(
return; return;
} }
if (!base::ranges::all_of(metadata->requests, [this](const auto& entry) { if (!std::ranges::all_of(metadata->requests, [this](const auto& entry) {
return IsAllowedExchangeUrl(entry.first); return IsAllowedExchangeUrl(entry.first);
})) { })) {
std::string error_message = "Exchange URL is not valid."; std::string error_message = "Exchange URL is not valid.";

@@ -4,11 +4,11 @@
#include "services/preferences/public/cpp/dictionary_value_update.h" #include "services/preferences/public/cpp/dictionary_value_update.h"
#include <algorithm>
#include <iterator> #include <iterator>
#include <optional> #include <optional>
#include <utility> #include <utility>
#include "base/ranges/algorithm.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
@@ -294,8 +294,8 @@ std::vector<std::string> DictionaryValueUpdate::ConcatPath(
const std::vector<std::string_view>& path) { const std::vector<std::string_view>& path) {
std::vector<std::string> full_path = base_path; std::vector<std::string> full_path = base_path;
full_path.reserve(full_path.size() + path.size()); full_path.reserve(full_path.size() + path.size());
base::ranges::transform(path, std::back_inserter(full_path), std::ranges::transform(path, std::back_inserter(full_path),
[](std::string_view s) { return std::string(s); }); [](std::string_view s) { return std::string(s); });
return full_path; return full_path;
} }

@@ -4,6 +4,7 @@
#include "services/proxy_resolver/proxy_resolver_impl.h" #include "services/proxy_resolver/proxy_resolver_impl.h"
#include <algorithm>
#include <string> #include <string>
#include <utility> #include <utility>
#include <vector> #include <vector>
@@ -11,7 +12,6 @@
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "base/ranges/algorithm.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
@@ -199,7 +199,7 @@ void MockProxyResolverV8Tracing::GetProxyForURL(
} }
void MockProxyResolverV8Tracing::WaitForCancel() { void MockProxyResolverV8Tracing::WaitForCancel() {
while (base::ranges::any_of(pending_jobs_, &Job::cancelled)) { while (std::ranges::any_of(pending_jobs_, &Job::cancelled)) {
base::RunLoop run_loop; base::RunLoop run_loop;
cancel_callback_ = run_loop.QuitClosure(); cancel_callback_ = run_loop.QuitClosure();
run_loop.Run(); run_loop.Run();

@@ -16,7 +16,6 @@
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/ranges.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "services/screen_ai/public/mojom/screen_ai_service.mojom.h" #include "services/screen_ai/public/mojom/screen_ai_service.mojom.h"
#include "services/strings/grit/services_strings.h" #include "services/strings/grit/services_strings.h"
@@ -30,7 +29,7 @@
#include "ui/gfx/geometry/rect_f.h" #include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/transform.h" #include "ui/gfx/geometry/transform.h"
namespace ranges = base::ranges; namespace ranges = std::ranges;
namespace { namespace {

@@ -4,13 +4,13 @@
#include "services/service_manager/service_instance.h" #include "services/service_manager/service_instance.h"
#include <algorithm>
#include <set> #include <set>
#include <utility> #include <utility>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "build/build_config.h" #include "build/build_config.h"
@@ -39,15 +39,15 @@ std::set<std::string> GetRequiredCapabilities(
// Start by looking for requirements specific to the target identity. // Start by looking for requirements specific to the target identity.
auto it = source_requirements.find(target_service); auto it = source_requirements.find(target_service);
if (it != source_requirements.end()) { if (it != source_requirements.end()) {
base::ranges::copy(it->second, std::ranges::copy(it->second,
std::inserter(capabilities, capabilities.begin())); std::inserter(capabilities, capabilities.begin()));
} }
// Apply wild card rules too. // Apply wild card rules too.
it = source_requirements.find("*"); it = source_requirements.find("*");
if (it != source_requirements.end()) { if (it != source_requirements.end()) {
base::ranges::copy(it->second, std::ranges::copy(it->second,
std::inserter(capabilities, capabilities.begin())); std::inserter(capabilities, capabilities.begin()));
} }
return capabilities; return capabilities;
} }

@@ -4,7 +4,8 @@
#include "services/service_manager/service_instance_registry.h" #include "services/service_manager/service_instance_registry.h"
#include "base/ranges/algorithm.h" #include <algorithm>
#include "services/service_manager/public/cpp/manifest.h" #include "services/service_manager/public/cpp/manifest.h"
#include "services/service_manager/service_instance.h" #include "services/service_manager/service_instance.h"
@@ -194,7 +195,7 @@ ServiceInstance* ServiceInstanceRegistry::FindMatchInEntries(
bool ServiceInstanceRegistry::EraseEntry(const base::Token& guid, bool ServiceInstanceRegistry::EraseEntry(const base::Token& guid,
std::vector<Entry>* entries) { std::vector<Entry>* entries) {
auto it = base::ranges::find(*entries, guid, &Entry::guid); auto it = std::ranges::find(*entries, guid, &Entry::guid);
if (it == entries->end()) if (it == entries->end())
return false; return false;

@@ -4,6 +4,7 @@
#include "services/tracing/perfetto/consumer_host.h" #include "services/tracing/perfetto/consumer_host.h"
#include <algorithm>
#include <cstring> #include <cstring>
#include <set> #include <set>
#include <string> #include <string>
@@ -14,7 +15,6 @@
#include "base/containers/span.h" #include "base/containers/span.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -271,7 +271,7 @@ void ConsumerHost::TracingSession::OnPerfettoEvents(
// Data sources are first reported as being stopped before starting, so once // Data sources are first reported as being stopped before starting, so once
// all the data sources we know about have started we can declare tracing // all the data sources we know about have started we can declare tracing
// begun. // begun.
bool all_data_sources_started = base::ranges::all_of( bool all_data_sources_started = std::ranges::all_of(
data_source_states_, data_source_states_,
[](std::pair<DataSourceHandle, bool> state) { return state.second; }); [](std::pair<DataSourceHandle, bool> state) { return state.second; });
if (!all_data_sources_started) if (!all_data_sources_started)

@@ -11,7 +11,6 @@
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h" #include "base/files/scoped_temp_dir.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/ranges/algorithm.h"
#include "components/tracing/common/tracing_switches.h" #include "components/tracing/common/tracing_switches.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "third_party/perfetto/include/perfetto/tracing/core/trace_config.h" #include "third_party/perfetto/include/perfetto/tracing/core/trace_config.h"
@@ -167,7 +166,7 @@ TEST_F(TraceStartupConfigTest, ContentWithAbsoluteResultFilePath) {
ASSERT_TRUE(result_file_path.IsAbsolute()); ASSERT_TRUE(result_file_path.IsAbsolute());
std::string result_file_path_str = result_file_path.AsUTF8Unsafe(); std::string result_file_path_str = result_file_path.AsUTF8Unsafe();
auto it = base::ranges::find(result_file_path_str, '\\'); auto it = std::ranges::find(result_file_path_str, '\\');
while (it != result_file_path_str.end()) { while (it != result_file_path_str.end()) {
auto it2 = result_file_path_str.insert(it, '\\'); auto it2 = result_file_path_str.insert(it, '\\');
it = std::find(it2 + 2, result_file_path_str.end(), '\\'); it = std::find(it2 + 2, result_file_path_str.end(), '\\');

@@ -4,12 +4,12 @@
#include "services/video_capture/broadcasting_receiver.h" #include "services/video_capture/broadcasting_receiver.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/memory/platform_shared_memory_region.h" #include "base/memory/platform_shared_memory_region.h"
#include "base/memory/unsafe_shared_memory_region.h" #include "base/memory/unsafe_shared_memory_region.h"
#include "base/ranges/algorithm.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/system/platform_handle.h" #include "mojo/public/cpp/system/platform_handle.h"
@@ -406,7 +406,7 @@ void BroadcastingReceiver::OnStopped() {
void BroadcastingReceiver::OnClientFinishedConsumingFrame( void BroadcastingReceiver::OnClientFinishedConsumingFrame(
int32_t buffer_context_id) { int32_t buffer_context_id) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
auto buffer_context_iter = base::ranges::find( auto buffer_context_iter = std::ranges::find(
buffer_contexts_, buffer_context_id, &BufferContext::buffer_context_id); buffer_contexts_, buffer_context_id, &BufferContext::buffer_context_id);
CHECK(buffer_context_iter != buffer_contexts_.end()); CHECK(buffer_context_iter != buffer_contexts_.end());
buffer_context_iter->DecreaseConsumerCount(); buffer_context_iter->DecreaseConsumerCount();
@@ -435,7 +435,7 @@ std::vector<BroadcastingReceiver::BufferContext>::iterator
BroadcastingReceiver::FindUnretiredBufferContextFromBufferId( BroadcastingReceiver::FindUnretiredBufferContextFromBufferId(
int32_t buffer_id) { int32_t buffer_id) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return base::ranges::find_if( return std::ranges::find_if(
buffer_contexts_, [buffer_id](const BufferContext& entry) { buffer_contexts_, [buffer_id](const BufferContext& entry) {
return !entry.is_retired() && entry.buffer_id() == buffer_id; return !entry.is_retired() && entry.buffer_id() == buffer_id;
}); });

@@ -4,8 +4,9 @@
#include "services/video_capture/public/cpp/mock_video_frame_handler.h" #include "services/video_capture/public/cpp/mock_video_frame_handler.h"
#include <algorithm>
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/remote.h"
@@ -58,7 +59,7 @@ void MockVideoFrameHandler::OnFrameReadyInBuffer(
} }
void MockVideoFrameHandler::OnBufferRetired(int32_t buffer_id) { void MockVideoFrameHandler::OnBufferRetired(int32_t buffer_id) {
auto iter = base::ranges::find(known_buffer_ids_, buffer_id); auto iter = std::ranges::find(known_buffer_ids_, buffer_id);
CHECK(iter != known_buffer_ids_.end()); CHECK(iter != known_buffer_ids_.end());
known_buffer_ids_.erase(iter); known_buffer_ids_.erase(iter);
DoOnBufferRetired(buffer_id); DoOnBufferRetired(buffer_id);

@@ -4,13 +4,13 @@
#include "services/video_capture/shared_memory_virtual_device_mojo_adapter.h" #include "services/video_capture/shared_memory_virtual_device_mojo_adapter.h"
#include <algorithm>
#include <utility> #include <utility>
#include "base/check_op.h" #include "base/check_op.h"
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/functional/callback.h" #include "base/functional/callback.h"
#include "base/ranges/algorithm.h"
#include "media/capture/video/scoped_buffer_pool_reservation.h" #include "media/capture/video/scoped_buffer_pool_reservation.h"
#include "media/capture/video/video_capture_buffer_pool_impl.h" #include "media/capture/video/video_capture_buffer_pool_impl.h"
#include "media/capture/video/video_capture_buffer_pool_util.h" #include "media/capture/video/video_capture_buffer_pool_util.h"
@@ -63,7 +63,7 @@ void SharedMemoryVirtualDeviceMojoAdapter::RequestFrameBuffer(
// Remove dropped buffer if there is one. // Remove dropped buffer if there is one.
if (buffer_id_to_drop != media::VideoCaptureBufferPool::kInvalidId) { if (buffer_id_to_drop != media::VideoCaptureBufferPool::kInvalidId) {
auto entry_iter = base::ranges::find(known_buffer_ids_, buffer_id_to_drop); auto entry_iter = std::ranges::find(known_buffer_ids_, buffer_id_to_drop);
if (entry_iter != known_buffer_ids_.end()) { if (entry_iter != known_buffer_ids_.end()) {
known_buffer_ids_.erase(entry_iter); known_buffer_ids_.erase(entry_iter);
if (producer_.is_bound()) if (producer_.is_bound())

@@ -2,8 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include <algorithm>
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/ranges/algorithm.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/bind.h" #include "base/test/bind.h"
#include "build/build_config.h" #include "build/build_config.h"
@@ -191,7 +192,7 @@ TEST_F(FakeVideoCaptureDeviceTest, BuffersGetRetiredWhenDeviceIsStopped) {
base::RunLoop wait_for_on_stopped_loop; base::RunLoop wait_for_on_stopped_loop;
EXPECT_CALL(video_frame_handler, DoOnBufferRetired(_)) EXPECT_CALL(video_frame_handler, DoOnBufferRetired(_))
.WillRepeatedly(Invoke([&known_buffer_ids](int32_t buffer_id) { .WillRepeatedly(Invoke([&known_buffer_ids](int32_t buffer_id) {
auto iter = base::ranges::find(known_buffer_ids, buffer_id); auto iter = std::ranges::find(known_buffer_ids, buffer_id);
ASSERT_TRUE(iter != known_buffer_ids.end()); ASSERT_TRUE(iter != known_buffer_ids.end());
known_buffer_ids.erase(iter); known_buffer_ids.erase(iter);
})); }));

@@ -33,7 +33,6 @@
#include "base/numerics/byte_conversions.h" #include "base/numerics/byte_conversions.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -632,7 +631,7 @@ std::string_view GetActivationParam(
base::FixedArray<int32_t> Ui32ToI32(base::span<const uint32_t> data) { base::FixedArray<int32_t> Ui32ToI32(base::span<const uint32_t> data) {
base::FixedArray<int32_t> output(data.size()); base::FixedArray<int32_t> output(data.size());
base::ranges::transform(data, output.begin(), [](uint32_t val) { std::ranges::transform(data, output.begin(), [](uint32_t val) {
return base::checked_cast<int32_t>(val); return base::checked_cast<int32_t>(val);
}); });
return output; return output;
@@ -1205,7 +1204,7 @@ GraphBuilderCoreml::GraphBuilderCoreml(
context_properties_(std::move(context_properties)), context_properties_(std::move(context_properties)),
device_(device), device_(device),
internal_operand_id_( internal_operand_id_(
base::ranges::max_element( std::ranges::max_element(
graph_info_->id_to_operand_map, graph_info_->id_to_operand_map,
{}, {},
[](const auto& id_operand) { return id_operand.first; }) [](const auto& id_operand) { return id_operand.first; })
@@ -1978,7 +1977,7 @@ GraphBuilderCoreml::AddOperationForConcat(
uint32_t axis, uint32_t axis,
CoreML::Specification::MILSpec::Block& block) { CoreML::Specification::MILSpec::Block& block) {
CHECK( CHECK(
base::ranges::all_of(input_operand_ids, [&](uint64_t input_operand_id) { std::ranges::all_of(input_operand_ids, [&](uint64_t input_operand_id) {
return context_properties_.data_type_limits.concat_inputs.Has( return context_properties_.data_type_limits.concat_inputs.Has(
MILDataTypeToOperandType( MILDataTypeToOperandType(
GetOperandInfo(input_operand_id).mil_data_type)); GetOperandInfo(input_operand_id).mil_data_type));
@@ -3322,15 +3321,17 @@ GraphBuilderCoreml::AddOperationForLayerNormalization(
} }
// TODO: crbug.com/356905058: Figure out if unordered axes should be allowed. // TODO: crbug.com/356905058: Figure out if unordered axes should be allowed.
if (!base::ranges::is_sorted(operation.axes)) { if (!std::ranges::is_sorted(operation.axes)) {
return NewNotSupportedError("Axes must be ordered for layerNormalization."); return NewNotSupportedError("Axes must be ordered for layerNormalization.");
} }
// TODO: crbug.com/391423301: CoreML crashes for kCpu when axes are not // TODO: crbug.com/391423301: CoreML crashes for kCpu when axes are not
// consecutive, needs emulation. // consecutive, needs emulation.
if (device_ == mojom::CreateContextOptions::Device::kCpu) { if (device_ == mojom::CreateContextOptions::Device::kCpu) {
bool is_consecutive = base::ranges::adjacent_find(operation.axes, bool is_consecutive =
[](auto a, auto b) { return (a + 1) != b; }) == operation.axes.end(); std::ranges::adjacent_find(operation.axes, [](auto a, auto b) {
return (a + 1) != b;
}) == operation.axes.end();
if (!is_consecutive) { if (!is_consecutive) {
return NewNotSupportedError( return NewNotSupportedError(
"Axes must be consecutive for layerNormalization on cpu."); "Axes must be consecutive for layerNormalization on cpu.");
@@ -4219,7 +4220,7 @@ GraphBuilderCoreml::AddOperationForResample2d(
MILDataTypeToOperandType(input_operand_info.mil_data_type))); MILDataTypeToOperandType(input_operand_info.mil_data_type)));
const std::array<size_t, 2> supported_axes = {2, 3}; const std::array<size_t, 2> supported_axes = {2, 3};
CHECK(base::ranges::equal(operation.axes, supported_axes)); CHECK(std::ranges::equal(operation.axes, supported_axes));
static constexpr char kParamScaleFactorHeight[] = "scale_factor_height"; static constexpr char kParamScaleFactorHeight[] = "scale_factor_height";
static constexpr char kParamScaleFactorWidth[] = "scale_factor_width"; static constexpr char kParamScaleFactorWidth[] = "scale_factor_width";

@@ -7,6 +7,7 @@
#import <CoreML/CoreML.h> #import <CoreML/CoreML.h>
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#include <algorithm>
#include <memory> #include <memory>
#include "base/apple/foundation_util.h" #include "base/apple/foundation_util.h"
@@ -22,7 +23,6 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "base/synchronization/waitable_event.h" #include "base/synchronization/waitable_event.h"
@@ -588,14 +588,14 @@ void GraphImplCoreml::DispatchImpl(
// them as shared/read-only. // them as shared/read-only.
std::vector<scoped_refptr<QueueableResourceStateBase>> shared_resources; std::vector<scoped_refptr<QueueableResourceStateBase>> shared_resources;
shared_resources.reserve(named_inputs.size()); shared_resources.reserve(named_inputs.size());
base::ranges::transform( std::ranges::transform(
named_input_buffer_states, std::back_inserter(shared_resources), named_input_buffer_states, std::back_inserter(shared_resources),
[](const auto& name_and_state) { return name_and_state.second; }); [](const auto& name_and_state) { return name_and_state.second; });
// Exclusively reserve all output tensors, which will be written to. // Exclusively reserve all output tensors, which will be written to.
std::vector<scoped_refptr<QueueableResourceStateBase>> exclusive_resources; std::vector<scoped_refptr<QueueableResourceStateBase>> exclusive_resources;
exclusive_resources.reserve(named_outputs.size()); exclusive_resources.reserve(named_outputs.size());
base::ranges::transform( std::ranges::transform(
named_output_buffer_states, std::back_inserter(exclusive_resources), named_output_buffer_states, std::back_inserter(exclusive_resources),
[](const auto& name_and_state) { return name_and_state.second; }); [](const auto& name_and_state) { return name_and_state.second; });

@@ -27,7 +27,6 @@
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
@@ -3968,7 +3967,7 @@ base::expected<void, mojom::ErrorPtr> CreateOperatorNodeForGru(
base::FixedArray<DML_OPERATOR_DESC> activation_dml_descs( base::FixedArray<DML_OPERATOR_DESC> activation_dml_descs(
activation_operator_descs.size()); activation_operator_descs.size());
base::ranges::transform( std::ranges::transform(
activation_operator_descs, std::begin(activation_dml_descs), activation_operator_descs, std::begin(activation_dml_descs),
[](const auto& activation_operator_desc) { [](const auto& activation_operator_desc) {
return activation_operator_desc.GetActivationDmlDesc(); return activation_operator_desc.GetActivationDmlDesc();
@@ -4624,7 +4623,7 @@ base::expected<void, mojom::ErrorPtr> CreateOperatorNodeForLstm(
base::FixedArray<DML_OPERATOR_DESC> activation_dml_descs( base::FixedArray<DML_OPERATOR_DESC> activation_dml_descs(
activation_operator_descs.size()); activation_operator_descs.size());
base::ranges::transform( std::ranges::transform(
activation_operator_descs, activation_dml_descs.begin(), activation_operator_descs, activation_dml_descs.begin(),
[](const auto& activation_operator_desc) { [](const auto& activation_operator_desc) {
return activation_operator_desc.GetActivationDmlDesc(); return activation_operator_desc.GetActivationDmlDesc();
@@ -5542,7 +5541,7 @@ bool IsDispatchBindingValid(
const base::flat_map<std::string_view, WebNNTensorImpl*>& named_tensors, const base::flat_map<std::string_view, WebNNTensorImpl*>& named_tensors,
const base::flat_map<std::string, base::WeakPtr<const WebNNTensorImpl>>& const base::flat_map<std::string, base::WeakPtr<const WebNNTensorImpl>>&
prev_named_tensors) { prev_named_tensors) {
return base::ranges::equal( return std::ranges::equal(
named_tensors, prev_named_tensors, named_tensors, prev_named_tensors,
[](const auto& pair, const auto& previous_pair) { [](const auto& pair, const auto& previous_pair) {
const auto& [name, tensor] = pair; const auto& [name, tensor] = pair;
@@ -6064,10 +6063,9 @@ base::expected<void, mojom::ErrorPtr> GraphImplDml::CreateAndBuildInternal(
// `id_to_operand_map`. It might be used for inserting new operands into maps // `id_to_operand_map`. It might be used for inserting new operands into maps
// when adding operations. // when adding operations.
uint64_t next_operand_id = 0; uint64_t next_operand_id = 0;
base::ranges::for_each( std::ranges::for_each(id_to_operand_map, [&next_operand_id](auto& key_value) {
id_to_operand_map, [&next_operand_id](auto& key_value) { next_operand_id = std::max(next_operand_id, key_value.first + 1);
next_operand_id = std::max(next_operand_id, key_value.first + 1); });
});
// Fuse the operations in `mojom::GraphInfo` wherever possible to optimize the // Fuse the operations in `mojom::GraphInfo` wherever possible to optimize the
// graph's compute performance. // graph's compute performance.

@@ -14,7 +14,6 @@
#include "base/notreached.h" #include "base/notreached.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
@@ -297,7 +296,7 @@ base::expected<void, std::string> ValidateRecurrentNetworkOperand(
label, base::StringPrintf("The %s operand should be a %zu-D tensor.", label, base::StringPrintf("The %s operand should be a %zu-D tensor.",
operand_name, expected_shape.size()))); operand_name, expected_shape.size())));
} }
if (!base::ranges::equal(operand.shape(), expected_shape)) { if (!std::ranges::equal(operand.shape(), expected_shape)) {
return base::unexpected(ErrorWithLabel( return base::unexpected(ErrorWithLabel(
label, label,
base::StringPrintf("The %s operand shape is invalid.", operand_name))); base::StringPrintf("The %s operand shape is invalid.", operand_name)));
@@ -416,8 +415,8 @@ ValidateSplitAndInferOutput(const ContextProperties& context_properties,
attributes.splits)) { attributes.splits)) {
const auto& splits = const auto& splits =
absl::get<base::span<const uint32_t>>(attributes.splits); absl::get<base::span<const uint32_t>>(attributes.splits);
if (base::ranges::any_of(splits, if (std::ranges::any_of(splits,
[](uint32_t split) { return split == 0; })) { [](uint32_t split) { return split == 0; })) {
return base::unexpected( return base::unexpected(
ErrorWithLabel(label, "All splits must be greater than zero.")); ErrorWithLabel(label, "All splits must be greater than zero."));
} }
@@ -868,7 +867,7 @@ ValidateScaleZeroPointOperandShapeIsCompatibleWithInput(
} }
} }
if (!base::ranges::equal(scale_shape, zero_point_shape)) { if (!std::ranges::equal(scale_shape, zero_point_shape)) {
return base::unexpected(ErrorWithLabel( return base::unexpected(ErrorWithLabel(
label, "The shape of scale and zero point must be the same.")); label, "The shape of scale and zero point must be the same."));
} }
@@ -1338,7 +1337,7 @@ base::expected<OperandDescriptor, std::string> ValidateGatherAndInferOutput(
output_shape.reserve(checked_output_rank.ValueOrDie()); output_shape.reserve(checked_output_rank.ValueOrDie());
for (uint32_t i = 0; i < input.Rank(); ++i) { for (uint32_t i = 0; i < input.Rank(); ++i) {
if (i == axis) { if (i == axis) {
base::ranges::copy(indices.shape(), std::back_inserter(output_shape)); std::ranges::copy(indices.shape(), std::back_inserter(output_shape));
} else { } else {
output_shape.push_back(input.shape()[i]); output_shape.push_back(input.shape()[i]);
} }
@@ -1458,10 +1457,10 @@ base::expected<OperandDescriptor, std::string> ValidateGatherNDAndInferOutput(
std::vector<uint32_t> output_shape; std::vector<uint32_t> output_shape;
output_shape.reserve(checked_output_rank.ValueOrDie()); output_shape.reserve(checked_output_rank.ValueOrDie());
base::ranges::copy(indices.shape().begin(), indices.shape().end() - 1, std::ranges::copy(indices.shape().begin(), indices.shape().end() - 1,
std::back_inserter(output_shape)); std::back_inserter(output_shape));
base::ranges::copy(input.shape().begin() + indices_last_dimension_size, std::ranges::copy(input.shape().begin() + indices_last_dimension_size,
input.shape().end(), std::back_inserter(output_shape)); input.shape().end(), std::back_inserter(output_shape));
return OperandDescriptor::Create(context_properties, input.data_type(), return OperandDescriptor::Create(context_properties, input.data_type(),
std::move(output_shape), label); std::move(output_shape), label);
@@ -1505,13 +1504,13 @@ base::expected<OperandDescriptor, std::string> ValidateGemmAndInferOutput(
std::vector<uint32_t> shape_a = a.shape(); std::vector<uint32_t> shape_a = a.shape();
if (attributes.a_transpose) { if (attributes.a_transpose) {
base::ranges::reverse(shape_a); std::ranges::reverse(shape_a);
} }
// The second input 2-D tensor with shape [K, N] if bTranspose is false, or // The second input 2-D tensor with shape [K, N] if bTranspose is false, or
// [N, K] if bTranspose is true. // [N, K] if bTranspose is true.
std::vector<uint32_t> shape_b = b.shape(); std::vector<uint32_t> shape_b = b.shape();
if (attributes.b_transpose) { if (attributes.b_transpose) {
base::ranges::reverse(shape_b); std::ranges::reverse(shape_b);
} }
// The number of columns in the first matrix must be equal to the number of // The number of columns in the first matrix must be equal to the number of
// rows in the second matrix. // rows in the second matrix.
@@ -1860,7 +1859,7 @@ ValidateLayerNormalizationAndInferOutput(
// The dimensions for layerNormalization to reduce along. // The dimensions for layerNormalization to reduce along.
std::vector<uint32_t> reduction_dimensions; std::vector<uint32_t> reduction_dimensions;
reduction_dimensions.reserve(axes.size()); reduction_dimensions.reserve(axes.size());
base::ranges::transform( std::ranges::transform(
axes, std::back_inserter(reduction_dimensions), axes, std::back_inserter(reduction_dimensions),
[&input_dimensions](uint32_t axis) { return input_dimensions[axis]; }); [&input_dimensions](uint32_t axis) { return input_dimensions[axis]; });
@@ -2635,11 +2634,11 @@ base::expected<OperandDescriptor, std::string> ValidateScatterNDAndInferOutput(
std::vector<uint32_t> expected_updates_shape; std::vector<uint32_t> expected_updates_shape;
expected_updates_shape.reserve(checked_updates_rank.ValueOrDie()); expected_updates_shape.reserve(checked_updates_rank.ValueOrDie());
base::ranges::copy(indices.shape().begin(), indices.shape().end() - 1, std::ranges::copy(indices.shape().begin(), indices.shape().end() - 1,
std::back_inserter(expected_updates_shape)); std::back_inserter(expected_updates_shape));
base::ranges::copy(input.shape().begin() + indices_last_dim_size, std::ranges::copy(input.shape().begin() + indices_last_dim_size,
input.shape().end(), input.shape().end(),
std::back_inserter(expected_updates_shape)); std::back_inserter(expected_updates_shape));
if (expected_updates_shape != updates.shape()) { if (expected_updates_shape != updates.shape()) {
return base::unexpected( return base::unexpected(
@@ -2725,7 +2724,7 @@ base::expected<OperandDescriptor, std::string> ValidateWhereAndInferOutput(
base::expected<void, std::string> ValidateAxes(base::span<const uint32_t> axes, base::expected<void, std::string> ValidateAxes(base::span<const uint32_t> axes,
uint32_t rank, uint32_t rank,
std::string_view label) { std::string_view label) {
if (base::ranges::any_of(axes, [rank](uint32_t axis) { if (std::ranges::any_of(axes, [rank](uint32_t axis) {
return base::MakeStrictNum(axis) >= rank; return base::MakeStrictNum(axis) >= rank;
})) { })) {
return base::unexpected(ErrorWithLabel( return base::unexpected(ErrorWithLabel(

@@ -4,11 +4,11 @@
#include "services/webnn/public/cpp/operand_descriptor.h" #include "services/webnn/public/cpp/operand_descriptor.h"
#include <algorithm>
#include <numeric> #include <numeric>
#include "base/containers/to_vector.h" #include "base/containers/to_vector.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/ranges/algorithm.h"
#include "base/types/expected_macros.h" #include "base/types/expected_macros.h"
#include "services/webnn/public/cpp/context_properties.h" #include "services/webnn/public/cpp/context_properties.h"
#include "services/webnn/public/cpp/webnn_errors.h" #include "services/webnn/public/cpp/webnn_errors.h"
@@ -35,7 +35,7 @@ base::expected<uint64_t, std::string> ValidateAndGetByteLength(
// Enforce dimension range according to // Enforce dimension range according to
// https://www.w3.org/TR/webnn/#valid-dimension. // https://www.w3.org/TR/webnn/#valid-dimension.
if (base::ranges::any_of(shape, [](uint32_t dimension) { if (std::ranges::any_of(shape, [](uint32_t dimension) {
return !base::CheckedNumeric<int32_t>(dimension).IsValid(); return !base::CheckedNumeric<int32_t>(dimension).IsValid();
})) { })) {
return base::unexpected( return base::unexpected(

@@ -7,9 +7,9 @@
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <initializer_list> #include <initializer_list>
#include "base/ranges/algorithm.h"
#include "services/webnn/public/cpp/operand_descriptor.h" #include "services/webnn/public/cpp/operand_descriptor.h"
#include "services/webnn/public/cpp/supported_data_types.h" #include "services/webnn/public/cpp/supported_data_types.h"
@@ -51,7 +51,7 @@ struct SupportedTensors {
bool SupportsAll( bool SupportsAll(
std::initializer_list<OperandDescriptor> operand_descriptors) const { std::initializer_list<OperandDescriptor> operand_descriptors) const {
return base::ranges::all_of( return std::ranges::all_of(
operand_descriptors, operand_descriptors,
[this](const OperandDescriptor& operand_descriptor) { [this](const OperandDescriptor& operand_descriptor) {
return Supports(operand_descriptor); return Supports(operand_descriptor);

@@ -4,11 +4,11 @@
#include "services/webnn/public/cpp/webnn_errors.h" #include "services/webnn/public/cpp/webnn_errors.h"
#include <algorithm>
#include <string> #include <string>
#include <vector> #include <vector>
#include "base/notreached.h" #include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "services/webnn/public/cpp/operand_descriptor.h" #include "services/webnn/public/cpp/operand_descriptor.h"
@@ -22,7 +22,7 @@ static constexpr char kInputParam[] = "input";
std::string SupportedDataTypesString(SupportedDataTypes supported_types) { std::string SupportedDataTypesString(SupportedDataTypes supported_types) {
std::vector<std::string> type_strings; std::vector<std::string> type_strings;
base::ranges::transform( std::ranges::transform(
supported_types, std::back_inserter(type_strings), supported_types, std::back_inserter(type_strings),
[](OperandDataType type) { return DataTypeToString(type); }); [](OperandDataType type) { return DataTypeToString(type); });
return base::StrCat( return base::StrCat(

@@ -4,8 +4,9 @@
#include "services/webnn/tflite/buffer_content.h" #include "services/webnn/tflite/buffer_content.h"
#include <algorithm>
#include "base/compiler_specific.h" #include "base/compiler_specific.h"
#include "base/ranges/algorithm.h"
#include "third_party/tflite/buildflags.h" #include "third_party/tflite/buildflags.h"
#include "third_party/tflite/src/tensorflow/lite/util.h" #include "third_party/tflite/src/tensorflow/lite/util.h"
@@ -33,7 +34,7 @@ BufferContent::BufferContent(size_t size)
::tflite::kDefaultTensorAlignment)), ::tflite::kDefaultTensorAlignment)),
size_(size) { size_(size) {
// `base::AlignedAlloc` does not return initialized memory. // `base::AlignedAlloc` does not return initialized memory.
base::ranges::fill(AsSpan(), 0); std::ranges::fill(AsSpan(), 0);
} }
BufferContent::~BufferContent() = default; BufferContent::~BufferContent() = default;

@@ -7,7 +7,9 @@
#include <stddef.h> #include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include <algorithm>
#include <concepts> #include <concepts>
#include <functional>
#include <iterator> #include <iterator>
#include <numeric> #include <numeric>
#include <vector> #include <vector>
@@ -16,8 +18,6 @@
#include "base/containers/span.h" #include "base/containers/span.h"
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/ranges/functional.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/types/expected.h" #include "base/types/expected.h"
#include "base/types/expected_macros.h" #include "base/types/expected_macros.h"
@@ -264,8 +264,8 @@ base::expected<TfLitePadding, std::string> GetTfLitePaddingMode(
std::vector<uint32_t> GetIndexOfSortedValue(base::span<const uint32_t> axes) { std::vector<uint32_t> GetIndexOfSortedValue(base::span<const uint32_t> axes) {
std::vector<uint32_t> sorted_indices(axes.size()); std::vector<uint32_t> sorted_indices(axes.size());
std::iota(sorted_indices.begin(), sorted_indices.end(), 0); std::iota(sorted_indices.begin(), sorted_indices.end(), 0);
base::ranges::sort(sorted_indices, base::ranges::less(), std::ranges::sort(sorted_indices, std::ranges::less(),
[axes](uint32_t index) { return axes[index]; }); [axes](uint32_t index) { return axes[index]; });
return sorted_indices; return sorted_indices;
} }
@@ -1085,24 +1085,24 @@ auto GraphBuilderTflite::FinishAndTakeResult(
int32_t* graph_input_ids = nullptr; int32_t* graph_input_ids = nullptr;
auto graph_input_ids_index = builder_.CreateUninitializedVector<int32_t>( auto graph_input_ids_index = builder_.CreateUninitializedVector<int32_t>(
input_operands.size(), &graph_input_ids); input_operands.size(), &graph_input_ids);
base::ranges::transform(input_operands, graph_input_ids, get_index); std::ranges::transform(input_operands, graph_input_ids, get_index);
std::vector<std::pair<std::string, int>> input_name_to_index; std::vector<std::pair<std::string, int>> input_name_to_index;
input_name_to_index.reserve(input_operands.size()); input_name_to_index.reserve(input_operands.size());
base::ranges::transform(input_operands, std::ranges::transform(input_operands,
std::back_inserter(input_name_to_index), std::back_inserter(input_name_to_index),
get_name_and_index); get_name_and_index);
int32_t* graph_output_ids = nullptr; int32_t* graph_output_ids = nullptr;
auto graph_output_ids_index = builder_.CreateUninitializedVector<int32_t>( auto graph_output_ids_index = builder_.CreateUninitializedVector<int32_t>(
output_operands.size(), &graph_output_ids); output_operands.size(), &graph_output_ids);
base::ranges::transform(output_operands, graph_output_ids, get_index); std::ranges::transform(output_operands, graph_output_ids, get_index);
std::vector<std::pair<std::string, int>> output_name_to_index; std::vector<std::pair<std::string, int>> output_name_to_index;
output_name_to_index.reserve(output_operands.size()); output_name_to_index.reserve(output_operands.size());
base::ranges::transform(output_operands, std::ranges::transform(output_operands,
std::back_inserter(output_name_to_index), std::back_inserter(output_name_to_index),
get_name_and_index); get_name_and_index);
// Insert the cast operator for the graph output operand after the unsupported // Insert the cast operator for the graph output operand after the unsupported
// float16 inference operation. // float16 inference operation.
@@ -1146,7 +1146,7 @@ uint32_t GraphBuilderTflite::SerializeBuffer(base::span<const uint8_t> buffer) {
std::fill_n(std::back_inserter(buffer_data_), padding, 0); std::fill_n(std::back_inserter(buffer_data_), padding, 0);
CHECK_EQ(buffer_data_.size() % kWeightsAlignment, 0u); CHECK_EQ(buffer_data_.size() % kWeightsAlignment, 0u);
base::ranges::copy(buffer, std::back_inserter(buffer_data_)); std::ranges::copy(buffer, std::back_inserter(buffer_data_));
const auto buffer_index = base::checked_cast<uint32_t>(buffers_.size()); const auto buffer_index = base::checked_cast<uint32_t>(buffers_.size());
buffers_.emplace_back( buffers_.emplace_back(
::tflite::CreateBuffer(builder_, /*data=*/0, offset, buffer.size())); ::tflite::CreateBuffer(builder_, /*data=*/0, offset, buffer.size()));
@@ -1624,7 +1624,7 @@ auto GraphBuilderTflite::InsertPadOperation(const TensorInfo& input_tensor_info,
// [beginning_height, ending_height], [beginning_width, ending_width], [0, // [beginning_height, ending_height], [beginning_width, ending_width], [0,
// 0]]. // 0]].
std::array<int32_t, 8> tflite_paddings = {}; std::array<int32_t, 8> tflite_paddings = {};
base::ranges::copy(paddings, tflite_paddings.begin() + 2); std::ranges::copy(paddings, tflite_paddings.begin() + 2);
// The shape of padding is [n, 2], where n is the rank of input as described // The shape of padding is [n, 2], where n is the rank of input as described
// here https://www.tensorflow.org/mlir/tfl_ops#tflmirror_pad_tflmirrorpadop. // here https://www.tensorflow.org/mlir/tfl_ops#tflmirror_pad_tflmirrorpadop.
@@ -3866,7 +3866,7 @@ int32_t GraphBuilderTflite::TransposeAndReshapeLayerNormalizationScaleBias(
// transposed to [1, 4, 3] and then reshaped to [1, 1, 4, 3]. // transposed to [1, 4, 3] and then reshaped to [1, 1, 4, 3].
std::optional<int32_t> transpose_tensor_index; std::optional<int32_t> transpose_tensor_index;
const std::vector<uint32_t> sorted_indices = GetIndexOfSortedValue(axes); const std::vector<uint32_t> sorted_indices = GetIndexOfSortedValue(axes);
if (!base::ranges::is_sorted(sorted_indices)) { if (!std::ranges::is_sorted(sorted_indices)) {
transpose_tensor_index = transpose_tensor_index =
InsertTransposeOperation(scale_or_bias_tensor_info, sorted_indices); InsertTransposeOperation(scale_or_bias_tensor_info, sorted_indices);
} }
@@ -4389,28 +4389,28 @@ base::FixedArray<int64_t> GraphBuilderTflite::GetConstantInt64Value(
return GetInt64ZeroPointFromInt4(operand_id); return GetInt64ZeroPointFromInt4(operand_id);
} }
case OperandDataType::kInt8: { case OperandDataType::kInt8: {
base::ranges::copy(GetConstantValue<int8_t>(operand_id), std::ranges::copy(GetConstantValue<int8_t>(operand_id),
typed_value.begin()); typed_value.begin());
break; break;
} }
case OperandDataType::kUint8: { case OperandDataType::kUint8: {
base::ranges::copy(GetConstantValue<uint8_t>(operand_id), std::ranges::copy(GetConstantValue<uint8_t>(operand_id),
typed_value.begin()); typed_value.begin());
break; break;
} }
case OperandDataType::kInt32: { case OperandDataType::kInt32: {
base::ranges::copy(GetConstantValue<int32_t>(operand_id), std::ranges::copy(GetConstantValue<int32_t>(operand_id),
typed_value.begin()); typed_value.begin());
break; break;
} }
case OperandDataType::kUint32: { case OperandDataType::kUint32: {
base::ranges::copy(GetConstantValue<uint32_t>(operand_id), std::ranges::copy(GetConstantValue<uint32_t>(operand_id),
typed_value.begin()); typed_value.begin());
break; break;
} }
case OperandDataType::kInt64: { case OperandDataType::kInt64: {
base::ranges::copy(GetConstantValue<int64_t>(operand_id), std::ranges::copy(GetConstantValue<int64_t>(operand_id),
typed_value.begin()); typed_value.begin());
break; break;
} }
case OperandDataType::kFloat32: case OperandDataType::kFloat32:
@@ -4883,7 +4883,7 @@ auto GraphBuilderTflite::SerializeResample2d(
GetOperand(resample2d.input_operand_id).descriptor)); GetOperand(resample2d.input_operand_id).descriptor));
const std::array<uint32_t, 2> supported_axes = {1, 2}; const std::array<uint32_t, 2> supported_axes = {1, 2};
CHECK(base::ranges::equal(resample2d.axes, supported_axes)); CHECK(std::ranges::equal(resample2d.axes, supported_axes));
// Create tflite builtin options for resize mode that is align_corner = false // Create tflite builtin options for resize mode that is align_corner = false
// and half_pixel_center = true by default. WebNN will support coordinate // and half_pixel_center = true by default. WebNN will support coordinate
@@ -4976,7 +4976,7 @@ auto GraphBuilderTflite::SerializeReverse(const mojom::Reverse& reverse)
// tensor need to be reversed slice by slice. // tensor need to be reversed slice by slice.
ASSIGN_OR_RETURN(std::vector<int32_t> signed_axes, ASSIGN_OR_RETURN(std::vector<int32_t> signed_axes,
ToSignedDimensions(reverse.axes)); ToSignedDimensions(reverse.axes));
base::ranges::sort(signed_axes); std::ranges::sort(signed_axes);
std::vector<int32_t> contiguous_axes = {signed_axes[0]}; std::vector<int32_t> contiguous_axes = {signed_axes[0]};
std::optional<int32_t> previous_reverse_tensor_index; std::optional<int32_t> previous_reverse_tensor_index;
for (size_t i = 1; i < signed_axes.size(); ++i) { for (size_t i = 1; i < signed_axes.size(); ++i) {

Some files were not shown because too many files have changed in this diff Show More