From 46b108e9a4bd61dafd1d4138b1b942754f745efa Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 28 Mar 2025 00:25:25 -0500 Subject: [PATCH] perf: avoid redundant map lookups in `GetStorageMask()` (#46315) * perf: avoid a redundant map lookuop in GetStorageMask() * perf: avoid a redundant map lookup in GetDataTypeMask() --- shell/browser/api/electron_api_session.cc | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/shell/browser/api/electron_api_session.cc b/shell/browser/api/electron_api_session.cc index 0e3f41e2bbd5..dcb89142e73f 100644 --- a/shell/browser/api/electron_api_session.cc +++ b/shell/browser/api/electron_api_session.cc @@ -13,6 +13,7 @@ #include "base/command_line.h" #include "base/containers/fixed_flat_map.h" +#include "base/containers/map_util.h" #include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/files/file_util.h" @@ -139,9 +140,8 @@ uint32_t GetStorageMask(const std::vector& storage_types) { uint32_t storage_mask = 0; for (const auto& it : storage_types) { - auto type = base::ToLowerASCII(it); - if (Lookup.contains(type)) - storage_mask |= Lookup.at(type); + if (const uint32_t* val = base::FindOrNull(Lookup, base::ToLowerASCII(it))) + storage_mask |= *val; } return storage_mask; } @@ -179,9 +179,8 @@ BrowsingDataRemover::DataType GetDataTypeMask( const std::vector& data_types) { BrowsingDataRemover::DataType mask = 0u; for (const auto& type : data_types) { - if (kDataTypeLookup.contains(type)) { - mask |= kDataTypeLookup.at(type); - } + if (const auto* val = base::FindOrNull(kDataTypeLookup, type)) + mask |= *val; } return mask; }