[go: nahoru, domu]

Rewrite vector<T*> into vector<raw_ptr<T, VectorExperimental>>

See chromium-dev announcement:
https://groups.google.com/a/chromium.org/g/chromium-dev/c/sKckMpzHQgY/m/M3SWxEg3AQAJ?utm_medium=email&utm_source=footer

Code review:
- First patch: Automatic rewrite
- Later patches: Manual fixes

The automatic rewrite used the script:
./tools/clang/rewrite_templated_container_fields/rewrite-multiple-platforms.sh

Binary size increase:
The increase is only 33% (+5kB) above the per-patch limit (+16kB). This
is not a lot given the size of the rewrite. Increase of around 500kb was
approved for MiraclePtr.

AX-Relnotes: n/a.
Binary-Size: See commit description.
Bug: 1432993
Change-Id: I8dfc4c2b274b724b99cf408f010da5c821edae9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5140028
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Owners-Override: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1239777}
diff --git a/media/filters/decrypting_media_resource.cc b/media/filters/decrypting_media_resource.cc
index 7371a05..1154fb2 100644
--- a/media/filters/decrypting_media_resource.cc
+++ b/media/filters/decrypting_media_resource.cc
@@ -10,6 +10,7 @@
 #include "base/functional/bind.h"
 #include "base/functional/callback_helpers.h"
 #include "base/logging.h"
+#include "base/memory/raw_ptr.h"
 #include "base/task/sequenced_task_runner.h"
 #include "media/base/cdm_context.h"
 #include "media/base/demuxer_stream.h"
@@ -44,7 +45,8 @@
   return MediaResource::Type::kStream;
 }
 
-std::vector<DemuxerStream*> DecryptingMediaResource::GetAllStreams() {
+std::vector<raw_ptr<DemuxerStream, VectorExperimental>>
+DecryptingMediaResource::GetAllStreams() {
   if (streams_.size())
     return streams_;
 
@@ -61,7 +63,7 @@
   init_cb_ = std::move(init_cb);
   num_dds_pending_init_ = streams.size();
 
-  for (auto* stream : streams) {
+  for (media::DemuxerStream* stream : streams) {
     auto decrypting_demuxer_stream = std::make_unique<DecryptingDemuxerStream>(
         task_runner_, media_log_, waiting_cb);