mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Refactoring, return an Atom from Element::parsed_name. #5774
This commit is contained in:
parent
c6ca389d54
commit
21f495139f
2 changed files with 7 additions and 8 deletions
|
@ -541,7 +541,7 @@ pub enum StylePriority {
|
|||
pub trait ElementHelpers<'a> {
|
||||
fn html_element_in_html_document(self) -> bool;
|
||||
fn local_name(self) -> &'a Atom;
|
||||
fn parsed_name(self, name: DOMString) -> DOMString;
|
||||
fn parsed_name(self, name: DOMString) -> Atom;
|
||||
fn namespace(self) -> &'a Namespace;
|
||||
fn prefix(self) -> &'a Option<DOMString>;
|
||||
fn attrs(&self) -> Ref<Vec<JS<Attr>>>;
|
||||
|
@ -568,11 +568,11 @@ impl<'a> ElementHelpers<'a> for &'a Element {
|
|||
&self.local_name
|
||||
}
|
||||
|
||||
fn parsed_name(self, name: DOMString) -> DOMString {
|
||||
fn parsed_name(self, name: DOMString) -> Atom {
|
||||
if self.html_element_in_html_document() {
|
||||
name.to_ascii_lowercase()
|
||||
Atom::from_slice(&name.to_ascii_lowercase())
|
||||
} else {
|
||||
name
|
||||
Atom::from_slice(&name)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -856,7 +856,7 @@ impl<'a> AttributeHandlers for &'a Element {
|
|||
|
||||
// https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
|
||||
fn get_attribute_by_name(self, name: DOMString) -> Option<Root<Attr>> {
|
||||
let name = &Atom::from_slice(&self.parsed_name(name));
|
||||
let name = &self.parsed_name(name);
|
||||
// FIXME(https://github.com/rust-lang/rust/issues/23338)
|
||||
let attrs = self.attrs.borrow();
|
||||
attrs.iter().map(|attr| attr.root())
|
||||
|
@ -1221,7 +1221,6 @@ impl<'a> ElementMethods for &'a Element {
|
|||
let name = self.parsed_name(name);
|
||||
|
||||
// Step 3-5.
|
||||
let name = Atom::from_slice(&name);
|
||||
let value = self.parse_attribute(&ns!(""), &name, value);
|
||||
self.do_set_attribute(name.clone(), value, name.clone(), ns!(""), None, |attr| {
|
||||
*attr.name() == name
|
||||
|
@ -1248,7 +1247,7 @@ impl<'a> ElementMethods for &'a Element {
|
|||
|
||||
// https://dom.spec.whatwg.org/#dom-element-removeattribute
|
||||
fn RemoveAttribute(self, name: DOMString) {
|
||||
let name = Atom::from_slice(&self.parsed_name(name));
|
||||
let name = self.parsed_name(name);
|
||||
self.remove_attribute_by_name(&name);
|
||||
}
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ impl<'a> NamedNodeMapMethods for &'a NamedNodeMap {
|
|||
// FIXME(https://github.com/rust-lang/rust/issues/23338)
|
||||
let owner = owner.r();
|
||||
let name = owner.parsed_name(name);
|
||||
owner.remove_attribute_by_name(&Atom::from_slice(&name)).ok_or(Error::NotFound)
|
||||
owner.remove_attribute_by_name(&name).ok_or(Error::NotFound)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-namednodemap-removenameditemns
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue