AK: Add support for about: URLs

This commit is contained in:
Andreas Kling 2020-05-10 11:11:48 +02:00
parent 6b674db855
commit 56dbe58bbb
Notes: sideshowbarker 2024-07-19 06:46:25 +09:00
2 changed files with 21 additions and 0 deletions

View file

@ -148,4 +148,13 @@ TEST_CASE(file_url_without_hostname)
EXPECT_EQ(url.to_string(), "file:///my/file");
}
TEST_CASE(about_url)
{
URL url("about:blank");
EXPECT_EQ(url.is_valid(), true);
EXPECT_EQ(url.protocol(), "about");
EXPECT_EQ(url.path(), "blank");
EXPECT_EQ(url.to_string(), "about:blank");
}
TEST_MAIN(URL)

View file

@ -93,6 +93,12 @@ bool URL::parse(const StringView& string)
continue;
}
if (m_protocol == "about") {
buffer.clear();
state = State::InPath;
continue;
}
if (consume() != '/')
return false;
if (consume() != '/')
@ -245,6 +251,12 @@ String URL::to_string() const
StringBuilder builder;
builder.append(m_protocol);
if (m_protocol == "about") {
builder.append(':');
builder.append(m_path);
return builder.to_string();
}
if (m_protocol == "data") {
builder.append(':');
builder.append(m_data_mime_type);