mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 13:49:16 +00:00
LibURL: Remove ErrorOr from get_public_suffix
The caller only expects ASCII and let's ignore any OOM.
This commit is contained in:
parent
c3618b891f
commit
e6ecafea84
Notes:
github-actions[bot]
2025-06-29 11:49:18 +00:00
Author: https://github.com/shannonbooth
Commit: e6ecafea84
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5242
Reviewed-by: https://github.com/tcl3 ✅
2 changed files with 17 additions and 17 deletions
|
@ -498,7 +498,7 @@ bool is_public_suffix(StringView host)
|
||||||
|
|
||||||
Optional<String> get_public_suffix(StringView host)
|
Optional<String> get_public_suffix(StringView host)
|
||||||
{
|
{
|
||||||
return MUST(PublicSuffixData::the()->get_public_suffix(host));
|
return PublicSuffixData::the()->get_public_suffix(host);
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/publicsuffix/list/wiki/Format#algorithm
|
// https://github.com/publicsuffix/list/wiki/Format#algorithm
|
||||||
|
|
|
@ -75,7 +75,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_public_suffix(StringView host);
|
bool is_public_suffix(StringView host);
|
||||||
ErrorOr<Optional<String>> get_public_suffix(StringView string);
|
Optional<String> get_public_suffix(StringView string);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Trie<char, Empty> m_dictionary;
|
Trie<char, Empty> m_dictionary;
|
||||||
|
@ -139,47 +139,47 @@ bool PublicSuffixData::is_public_suffix(StringView host)
|
||||||
return it.is_end() && node.has_metadata();
|
return it.is_end() && node.has_metadata();
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<Optional<String>> PublicSuffixData::get_public_suffix(StringView string)
|
Optional<String> PublicSuffixData::get_public_suffix(StringView string)
|
||||||
{
|
{
|
||||||
auto input = string.split_view("."sv);
|
auto input = string.split_view('.');
|
||||||
input.reverse();
|
input.reverse();
|
||||||
|
|
||||||
StringBuilder overall_search_string;
|
StringBuilder overall_search_string;
|
||||||
StringBuilder search_string;
|
StringBuilder search_string;
|
||||||
for (auto part : input) {
|
for (auto part : input) {
|
||||||
search_string.clear();
|
search_string.clear();
|
||||||
TRY(search_string.try_append(TRY(overall_search_string.to_string())));
|
search_string.append(overall_search_string.string_view());
|
||||||
TRY(search_string.try_append(part));
|
search_string.append(part);
|
||||||
|
|
||||||
if (is_public_suffix(search_string.string_view())) {
|
if (is_public_suffix(search_string.string_view())) {
|
||||||
overall_search_string.append(TRY(String::from_utf8(part)));
|
overall_search_string.append(part);
|
||||||
overall_search_string.append("."sv);
|
overall_search_string.append('.');
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
search_string.clear();
|
search_string.clear();
|
||||||
TRY(search_string.try_append(TRY(overall_search_string.to_string())));
|
search_string.append(overall_search_string.string_view());
|
||||||
TRY(search_string.try_append("*"sv));
|
search_string.append('.');
|
||||||
|
|
||||||
if (is_public_suffix(search_string.string_view())) {
|
if (is_public_suffix(search_string.string_view())) {
|
||||||
overall_search_string.append(TRY(String::from_utf8(part)));
|
overall_search_string.append(part);
|
||||||
overall_search_string.append("."sv);
|
overall_search_string.append('.');
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto view = overall_search_string.string_view().split_view("."sv);
|
auto view = overall_search_string.string_view().split_view('.');
|
||||||
view.reverse();
|
view.reverse();
|
||||||
|
|
||||||
StringBuilder return_string_builder;
|
StringBuilder return_string_builder;
|
||||||
return_string_builder.join('.', view);
|
return_string_builder.join('.', view);
|
||||||
auto returnString = TRY(return_string_builder.to_string());
|
|
||||||
if (!returnString.is_empty())
|
|
||||||
return returnString;
|
|
||||||
|
|
||||||
|
if (return_string_builder.is_empty())
|
||||||
return Optional<String> {};
|
return Optional<String> {};
|
||||||
|
|
||||||
|
return MUST(return_string_builder.to_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue