From 2d71d65415a55c9559e6e07f7db8f468ccd5137d Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 21 May 2025 15:49:06 -0500 Subject: [PATCH] refactor: prefer `base::circular_deque` over `std::deque` (#47193) * refactor: use base::circular_deque in ResolveProxyHelper Co-authored-by: Charles Kerr * refactor: use base::circular_deque in GetExtraCrashKeys() refactor: reduce visibility of kMaxCrashKeyValueSize This change is to match Chromium's usage advice from base/containers/README.md: `base:circular_deque` is preferred over `std::deque` to provide consistent performance across platforms. Co-authored-by: Charles Kerr --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- shell/browser/net/resolve_proxy_helper.h | 4 ++-- shell/common/crash_keys.cc | 20 +++++++++----------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/shell/browser/net/resolve_proxy_helper.h b/shell/browser/net/resolve_proxy_helper.h index 20c998be26cf..8ea5b7ccb3dc 100644 --- a/shell/browser/net/resolve_proxy_helper.h +++ b/shell/browser/net/resolve_proxy_helper.h @@ -5,10 +5,10 @@ #ifndef ELECTRON_SHELL_BROWSER_NET_RESOLVE_PROXY_HELPER_H_ #define ELECTRON_SHELL_BROWSER_NET_RESOLVE_PROXY_HELPER_H_ -#include #include #include +#include "base/containers/circular_deque.h" #include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "mojo/public/cpp/bindings/receiver.h" @@ -66,7 +66,7 @@ class ResolveProxyHelper // Self-reference. Owned as long as there's an outstanding proxy lookup. scoped_refptr owned_self_; - std::deque pending_requests_; + base::circular_deque pending_requests_; // Receiver for the currently in-progress request, if any. mojo::Receiver receiver_{this}; diff --git a/shell/common/crash_keys.cc b/shell/common/crash_keys.cc index 3066ac5f01c8..a9232caf0b39 100644 --- a/shell/common/crash_keys.cc +++ b/shell/common/crash_keys.cc @@ -5,11 +5,11 @@ #include "shell/common/crash_keys.h" #include -#include #include #include #include "base/command_line.h" +#include "base/containers/circular_deque.h" #include "base/environment.h" #include "base/no_destructor.h" #include "base/strings/strcat.h" @@ -28,19 +28,17 @@ namespace electron::crash_keys { namespace { -constexpr size_t kMaxCrashKeyValueSize = 20320; -static_assert(kMaxCrashKeyValueSize < crashpad::Annotation::kValueMaxSize, - "max crash key value length above what crashpad supports"); - -using ExtraCrashKeys = - std::deque>; -ExtraCrashKeys& GetExtraCrashKeys() { - static base::NoDestructor extra_keys; +auto& GetExtraCrashKeys() { + constexpr size_t kMaxCrashKeyValueSize = 20320; + static_assert(kMaxCrashKeyValueSize < crashpad::Annotation::kValueMaxSize, + "max crash key value length above what crashpad supports"); + using CrashKeyString = crash_reporter::CrashKeyString; + static base::NoDestructor> extra_keys; return *extra_keys; } -std::deque& GetExtraCrashKeyNames() { - static base::NoDestructor> crash_key_names; +auto& GetExtraCrashKeyNames() { + static base::NoDestructor> crash_key_names; return *crash_key_names; }