Translate attribute and its inheritance semantics

This commit is contained in:
Patrick Shaughnessy 2020-01-27 22:45:07 -05:00
parent d0f64d9d56
commit 3f8a9f6382
11 changed files with 38 additions and 44 deletions

View file

@ -514,6 +514,25 @@ impl Element {
debug_assert!(false, "Trying to detach a non-attached shadow root");
}
}
// https://html.spec.whatwg.org/multipage/#translation-mode
pub fn is_translate_enabled(&self) -> bool {
// TODO change this to local_name! when html5ever updates
let name = &LocalName::from("translate");
if self.has_attribute(name) {
match &*self.get_string_attribute(name) {
"yes" | "" => return true,
"no" => return false,
_ => {},
}
}
if let Some(parent) = self.upcast::<Node>().GetParentNode() {
if let Some(elem) = parent.downcast::<Element>() {
return elem.is_translate_enabled();
}
}
true // whatwg/html#5239
}
}
#[allow(unsafe_code)]