mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Auto merge of #13525 - servo:empty-href, r=emilio
Ignore stylesheet links with an empty href. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13525) <!-- Reviewable:end -->
This commit is contained in:
commit
3eb6fc4818
5 changed files with 104 additions and 49 deletions
|
@ -197,14 +197,24 @@ impl VirtualMethods for HTMLLinkElement {
|
|||
|
||||
|
||||
impl HTMLLinkElement {
|
||||
/// https://html.spec.whatwg.org/multipage/#concept-link-obtain
|
||||
fn handle_stylesheet_url(&self, href: &str) {
|
||||
let document = document_from_node(self);
|
||||
if document.browsing_context().is_none() {
|
||||
return;
|
||||
}
|
||||
|
||||
match document.base_url().join(href) {
|
||||
Ok(url) => {
|
||||
// Step 1.
|
||||
if href.is_empty() {
|
||||
return;
|
||||
}
|
||||
|
||||
// Step 2.
|
||||
let url = match document.base_url().join(href) {
|
||||
Err(e) => return debug!("Parsing url {} failed: {}", href, e),
|
||||
Ok(url) => url,
|
||||
};
|
||||
|
||||
let element = self.upcast::<Element>();
|
||||
|
||||
let mq_attribute = element.get_attribute(&ns!(), &atom!("media"));
|
||||
|
@ -251,9 +261,6 @@ impl HTMLLinkElement {
|
|||
|
||||
document.load_async(LoadType::Stylesheet(url), response_target, referrer_policy);
|
||||
}
|
||||
Err(e) => debug!("Parsing url {} failed: {}", href, e)
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_favicon_url(&self, rel: &str, href: &str, sizes: &Option<String>) {
|
||||
let document = document_from_node(self);
|
||||
|
|
|
@ -37715,6 +37715,18 @@
|
|||
"deleted_reftests": {},
|
||||
"items": {
|
||||
"reftest": {
|
||||
"html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html": [
|
||||
{
|
||||
"path": "html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html",
|
||||
"references": [
|
||||
[
|
||||
"/html/semantics/document-metadata/the-link-element/stylesheet-empty-href-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
"url": "/html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html"
|
||||
}
|
||||
],
|
||||
"html/semantics/document-metadata/the-link-element/stylesheet-media.html": [
|
||||
{
|
||||
"path": "html/semantics/document-metadata/the-link-element/stylesheet-media.html",
|
||||
|
@ -37744,6 +37756,18 @@
|
|||
}
|
||||
},
|
||||
"reftest_nodes": {
|
||||
"html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html": [
|
||||
{
|
||||
"path": "html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html",
|
||||
"references": [
|
||||
[
|
||||
"/html/semantics/document-metadata/the-link-element/stylesheet-empty-href-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
"url": "/html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html"
|
||||
}
|
||||
],
|
||||
"html/semantics/document-metadata/the-link-element/stylesheet-media.html": [
|
||||
{
|
||||
"path": "html/semantics/document-metadata/the-link-element/stylesheet-media.html",
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
body {
|
||||
color: red;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>Test</title>
|
||||
<style>
|
||||
body {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<p>This text should be green.
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>Test</title>
|
||||
<link rel=match href=stylesheet-empty-href-ref.html>
|
||||
<style>
|
||||
body {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<base href=resources/empty-href.css>
|
||||
<link rel=stylesheet href>
|
||||
<p>This text should be green.
|
Loading…
Add table
Add a link
Reference in a new issue