Update meta referrer parsing

Signed-off-by: Keith Yeung <kungfukeith11@gmail.com>
This commit is contained in:
Keith Yeung 2025-05-05 13:07:18 +08:00
parent 21df8b875b
commit 547071d298
No known key found for this signature in database
GPG key ID: DD73326AA79455C8

View file

@ -5,7 +5,7 @@
use dom_struct::dom_struct;
use html5ever::{LocalName, Prefix, local_name, ns};
use js::rust::HandleObject;
use style::str::HTML_SPACE_CHARACTERS;
use style::{attr::AttrValue, str::HTML_SPACE_CHARACTERS};
use crate::dom::attr::Attr;
use crate::dom::bindings::codegen::Bindings::HTMLMetaElementBinding::HTMLMetaElementMethods;
@ -108,7 +108,15 @@ impl HTMLMetaElement {
.get_attribute(&ns!(), &local_name!("content"));
if let Some(attr) = content {
let attr = attr.value();
let attr_val = attr.trim();
let attr_val = match &*attr {
AttrValue::TokenList(_, list) => {
let Some(last_atom) = list.last() else {
return;
};
last_atom.trim()
},
a => a.trim(),
};
if !attr_val.is_empty() {
doc.set_referrer_policy(determine_policy_for_token(attr_val));
}