diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs
index 41edb2c22d3..ee889d41d20 100644
--- a/components/script/dom/htmllinkelement.rs
+++ b/components/script/dom/htmllinkelement.rs
@@ -193,8 +193,8 @@ impl HTMLLinkElement {
&self.owner_window(),
Some(self.upcast::()),
"text/css".into(),
- None, // todo handle location
- None, // todo handle title
+ get_attr(self.upcast(), &local_name!("href")).map(DOMString::from_string),
+ get_attr(self.upcast(), &local_name!("title")).map(DOMString::from_string),
sheet,
false, // is_constructed
can_gc,
diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs
index aed08b7bcf6..e77b29dfa68 100644
--- a/components/script/dom/htmlstyleelement.rs
+++ b/components/script/dom/htmlstyleelement.rs
@@ -167,8 +167,8 @@ impl HTMLStyleElement {
&self.owner_window(),
Some(self.upcast::()),
"text/css".into(),
- None, // todo handle location
- None, // todo handle title
+ None,
+ None,
sheet,
false, // is_constructed
CanGc::note(),
diff --git a/tests/wpt/meta/html/semantics/document-metadata/the-link-element/stylesheet-not-removed-until-next-stylesheet-loads.html.ini b/tests/wpt/meta/html/semantics/document-metadata/the-link-element/stylesheet-not-removed-until-next-stylesheet-loads.html.ini
index c8af7d1a992..4ea84934721 100644
--- a/tests/wpt/meta/html/semantics/document-metadata/the-link-element/stylesheet-not-removed-until-next-stylesheet-loads.html.ini
+++ b/tests/wpt/meta/html/semantics/document-metadata/the-link-element/stylesheet-not-removed-until-next-stylesheet-loads.html.ini
@@ -1,3 +1,3 @@
[stylesheet-not-removed-until-next-stylesheet-loads.html]
[Check that a style sheet loaded by a is available until its successor is loaded]
- expected: FAIL
+ expected: PASS