From 8dfca6c464593f1f14be0ebfb0c459e9c9ad0337 Mon Sep 17 00:00:00 2001 From: Dan Klishch Date: Mon, 11 Dec 2023 17:12:04 -0500 Subject: [PATCH] LibWebView: Do not treat prefix of public suffix as valid public suffix --- .../LibWebView/GeneratePublicSuffixData.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWebView/GeneratePublicSuffixData.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWebView/GeneratePublicSuffixData.cpp index 28dba8b8e8..eda16d464c 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWebView/GeneratePublicSuffixData.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWebView/GeneratePublicSuffixData.cpp @@ -44,9 +44,9 @@ ErrorOr generate_header_file(Core::InputBufferedFile&, Core::File& file) generator.append(R"~~~( #pragma once -#include #include #include +#include namespace WebView { @@ -70,7 +70,7 @@ public: ErrorOr> get_public_suffix(StringView string); private: - Trie m_dictionary; + Trie m_dictionary; }; } @@ -118,13 +118,11 @@ static constexpr auto s_public_suffixes = Array {)~~~"); }; PublicSuffixData::PublicSuffixData() - : m_dictionary('/', "") + : m_dictionary('/') { // FIXME: Reduce the depth of this trie for (auto str : s_public_suffixes) { - MUST(m_dictionary.insert(str.begin(), str.end(), str, [](auto& parent, auto& it) -> Optional { - return DeprecatedString::formatted("{}{}", parent.metadata_value(), *it); - })); + MUST(m_dictionary.insert(str.begin(), str.end(), Empty {}, [](auto const&, auto const&) -> Optional { return {}; })); } } @@ -132,7 +130,7 @@ bool PublicSuffixData::is_public_suffix(StringView host) { auto it = host.begin(); auto& node = m_dictionary.traverse_until_last_accessible_node(it, host.end()); - return it.is_end() && node.metadata().has_value(); + return it.is_end() && node.has_metadata(); } ErrorOr> PublicSuffixData::get_public_suffix(StringView string)