mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 12:19:54 +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)
|
||||
{
|
||||
return MUST(PublicSuffixData::the()->get_public_suffix(host));
|
||||
return PublicSuffixData::the()->get_public_suffix(host);
|
||||
}
|
||||
|
||||
// https://github.com/publicsuffix/list/wiki/Format#algorithm
|
||||
|
|
|
@ -75,7 +75,7 @@ public:
|
|||
}
|
||||
|
||||
bool is_public_suffix(StringView host);
|
||||
ErrorOr<Optional<String>> get_public_suffix(StringView string);
|
||||
Optional<String> get_public_suffix(StringView string);
|
||||
|
||||
private:
|
||||
Trie<char, Empty> m_dictionary;
|
||||
|
@ -139,47 +139,47 @@ bool PublicSuffixData::is_public_suffix(StringView host)
|
|||
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();
|
||||
|
||||
StringBuilder overall_search_string;
|
||||
StringBuilder search_string;
|
||||
for (auto part : input) {
|
||||
search_string.clear();
|
||||
TRY(search_string.try_append(TRY(overall_search_string.to_string())));
|
||||
TRY(search_string.try_append(part));
|
||||
search_string.append(overall_search_string.string_view());
|
||||
search_string.append(part);
|
||||
|
||||
if (is_public_suffix(search_string.string_view())) {
|
||||
overall_search_string.append(TRY(String::from_utf8(part)));
|
||||
overall_search_string.append("."sv);
|
||||
overall_search_string.append(part);
|
||||
overall_search_string.append('.');
|
||||
continue;
|
||||
}
|
||||
|
||||
search_string.clear();
|
||||
TRY(search_string.try_append(TRY(overall_search_string.to_string())));
|
||||
TRY(search_string.try_append("*"sv));
|
||||
search_string.append(overall_search_string.string_view());
|
||||
search_string.append('.');
|
||||
|
||||
if (is_public_suffix(search_string.string_view())) {
|
||||
overall_search_string.append(TRY(String::from_utf8(part)));
|
||||
overall_search_string.append("."sv);
|
||||
overall_search_string.append(part);
|
||||
overall_search_string.append('.');
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
auto view = overall_search_string.string_view().split_view("."sv);
|
||||
auto view = overall_search_string.string_view().split_view('.');
|
||||
view.reverse();
|
||||
|
||||
StringBuilder return_string_builder;
|
||||
return_string_builder.join('.', view);
|
||||
auto returnString = TRY(return_string_builder.to_string());
|
||||
if (!returnString.is_empty())
|
||||
return returnString;
|
||||
|
||||
return Optional<String> {};
|
||||
if (return_string_builder.is_empty())
|
||||
return Optional<String> {};
|
||||
|
||||
return MUST(return_string_builder.to_string());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue