refactor: use base::flat_set in WebContents::DidUpdateFaviconUrl() (#46475)

* refactor: add gin::Converter<std::span>::ToV8()

* feat: add ToV8(const base::flat_set<T>&)

* perf: use a flat_set in WebContents::TitleWasSet()

* refactor: add gin::Converter<std::array>::ToV8()
This commit is contained in:
Charles Kerr 2025-04-07 03:16:02 -05:00 committed by GitHub
parent 3c5c9c8e19
commit 41d8f90d68
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 43 additions and 6 deletions

View file

@ -16,6 +16,7 @@
#include "base/base64.h"
#include "base/containers/fixed_flat_map.h"
#include "base/containers/flat_set.h"
#include "base/containers/id_map.h"
#include "base/files/file_util.h"
#include "base/json/json_reader.h"
@ -2119,13 +2120,12 @@ void WebContents::TitleWasSet(content::NavigationEntry* entry) {
void WebContents::DidUpdateFaviconURL(
content::RenderFrameHost* render_frame_host,
const std::vector<blink::mojom::FaviconURLPtr>& urls) {
std::set<GURL> unique_urls;
base::flat_set<GURL> unique_urls;
unique_urls.reserve(std::size(urls));
for (const auto& iter : urls) {
if (iter->icon_type != blink::mojom::FaviconIconType::kFavicon)
continue;
const GURL& url = iter->icon_url;
if (url.is_valid())
unique_urls.insert(url);
if (iter->icon_type == blink::mojom::FaviconIconType::kFavicon &&
iter->icon_url.is_valid())
unique_urls.insert(iter->icon_url);
}
Emit("page-favicon-updated", unique_urls);
}