From 78f78bf8be09f3d833923dae0243c0087bc6f507 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Mon, 30 Jun 2025 10:29:16 +0200 Subject: [PATCH] perf: avoid copying a vector when calling ConvertToWeakPtrVector() (#47602) Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- shell/browser/window_list.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/shell/browser/window_list.cc b/shell/browser/window_list.cc index 188402d0e6bb..f945dfa2270b 100644 --- a/shell/browser/window_list.cc +++ b/shell/browser/window_list.cc @@ -6,20 +6,18 @@ #include +#include "base/containers/to_vector.h" #include "base/no_destructor.h" #include "shell/browser/native_window.h" #include "shell/browser/window_list_observer.h" namespace { + template -std::vector> ConvertToWeakPtrVector(std::vector raw_ptrs) { - std::vector> converted_to_weak; - converted_to_weak.reserve(raw_ptrs.size()); - for (auto* raw_ptr : raw_ptrs) { - converted_to_weak.push_back(raw_ptr->GetWeakPtr()); - } - return converted_to_weak; +auto ConvertToWeakPtrVector(const std::vector& raw_ptrs) { + return base::ToVector(raw_ptrs, [](T* t) { return t->GetWeakPtr(); }); } + } // namespace namespace electron {