diff --git a/Libraries/LibHTML/HtmlView.cpp b/Libraries/LibHTML/HtmlView.cpp
index eb08a1f4a5..cc84ee4030 100644
--- a/Libraries/LibHTML/HtmlView.cpp
+++ b/Libraries/LibHTML/HtmlView.cpp
@@ -175,8 +175,7 @@ void HtmlView::load(const URL& url)
}
String html = String::copy(f->read_all());
- auto document = parse_html(html);
- document->set_url(url);
+ auto document = parse_html(html, url);
document->normalize();
set_document(document);
diff --git a/Libraries/LibHTML/Parser/HTMLParser.cpp b/Libraries/LibHTML/Parser/HTMLParser.cpp
index eddf861b39..61178459b2 100644
--- a/Libraries/LibHTML/Parser/HTMLParser.cpp
+++ b/Libraries/LibHTML/Parser/HTMLParser.cpp
@@ -72,11 +72,12 @@ static bool is_self_closing_tag(const String& tag_name)
|| tag_name == "wbr";
}
-NonnullRefPtr parse_html(const String& html)
+NonnullRefPtr parse_html(const String& html, const URL& url)
{
NonnullRefPtrVector node_stack;
auto document = adopt(*new Document);
+ document->set_url(url);
node_stack.append(document);
enum class State {
diff --git a/Libraries/LibHTML/Parser/HTMLParser.h b/Libraries/LibHTML/Parser/HTMLParser.h
index 5b7c5482eb..eb57a42465 100644
--- a/Libraries/LibHTML/Parser/HTMLParser.h
+++ b/Libraries/LibHTML/Parser/HTMLParser.h
@@ -3,5 +3,5 @@
#include
#include
-NonnullRefPtr parse_html(const String&);
+NonnullRefPtr parse_html(const String&, const URL& = URL());