diff --git a/DEPS b/DEPS index 663ef809a0..33b653177a 100644 --- a/DEPS +++ b/DEPS @@ -2457,7 +2457,6 @@ include_rules = [ "+absl/strings/match.h", "+absl/strings/str_replace.h", "+absl/strings/string_view.h", - "+absl/types/optional.h", "+absl/types/variant.h", # Abseil flags are allowed in tests and tools. diff --git a/api/voip/DEPS b/api/voip/DEPS index 3845dffab0..a36df41a9c 100644 --- a/api/voip/DEPS +++ b/api/voip/DEPS @@ -1,8 +1,4 @@ specific_include_rules = { - ".*\.h": [ - "+third_party/absl/types/optional.h", - ], - "voip_engine_factory.h": [ "+modules/audio_device/include/audio_device.h", "+modules/audio_processing/include/audio_processing.h", diff --git a/g3doc/abseil-in-webrtc.md b/g3doc/abseil-in-webrtc.md index f6c7f2efe3..7798f24b21 100644 --- a/g3doc/abseil-in-webrtc.md +++ b/g3doc/abseil-in-webrtc.md @@ -1,5 +1,5 @@ - + # Using Abseil in WebRTC @@ -22,8 +22,6 @@ The GN templates will take care of generating the proper dependency when used within Chromium or standalone. In that build mode, WebRTC will depend on a monolithic Abseil build target that will generate a shared library. -Previously, `absl_deps` was used but been deprecated in May 2024. - ## **Allowed** * `absl::AnyInvocable` @@ -47,6 +45,8 @@ Previously, `absl_deps` was used but been deprecated in May 2024. `absl/base/macros.h`. * `absl/numeric/bits.h` +* ABSL_FLAG is allowed in tests and tools, but disallowed in in non-test code. + ## **Disallowed** @@ -58,12 +58,6 @@ Previously, `absl_deps` was used but been deprecated in May 2024. *Use `webrtc::Mutex` instead.* -Chromium has a ban on new static initializers, and `absl::Mutex` uses -one. To make `absl::Mutex` available, we would need to nicely ask the -Abseil team to remove that initializer (like they already did for a -spinlock initializer). Additionally, `absl::Mutex` handles time in a -way that may not be compatible with the rest of WebRTC. - ### `absl::optional` *Use `std::optional` instead.* @@ -73,12 +67,9 @@ way that may not be compatible with the rest of WebRTC. *Use `rtc::ArrayView` instead.* `absl::Span` differs from `rtc::ArrayView` on several points, and both -of them differ from the `std::span` that was voted into -C++20—and `std::span` is likely to undergo further changes -before C++20 is finalized. We should just keep using `rtc::ArrayView` -and avoid `absl::Span` until C++20 is finalized and the Abseil team -has decided if they will change `absl::Span` to match. -[Bug](https://bugs.webrtc.org/9214). +of them differ from the `std::span` introduced in C++20. We should just keep +using `rtc::ArrayView` and avoid `absl::Span`. When WebRTC switches to C++20, +we will consider replacing `rtc::ArrayView` with `std::span`. ### `absl::StrCat`, `absl::StrAppend`, `absl::StrJoin`, `absl::StrSplit`