diff options
author | bors-servo <servo-ops@mozilla.com> | 2020-03-31 10:51:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-31 10:51:18 -0400 |
commit | 3aa15e3fa30194e465c8bbb21c07d5239a6ac9f8 (patch) | |
tree | bd64feee4c1f3d5861f5714b032dd3a52fd2aa70 /components/script/dom/element.rs | |
parent | 09271826f6a771cace1755dd18794d7085fccbd3 (diff) | |
parent | fb1ff3f097c0c8a994c9e7c4bb72c3ba5b64492d (diff) | |
download | servo-3aa15e3fa30194e465c8bbb21c07d5239a6ac9f8.tar.gz servo-3aa15e3fa30194e465c8bbb21c07d5239a6ac9f8.zip |
Auto merge of #26070 - servo:layout-2020-more-cleanups, r=SimonSapin
Make LayoutNodeHelpers::text_content return a cow
What does it mean? It means that layout can process `Text` nodes' contents by just borrowing them, potentially saving us from a lot of unnecessary tempoorary allocations, which is nice.
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r-- | components/script/dom/element.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 602cb148d7a..7d167bf2574 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -578,7 +578,7 @@ pub unsafe fn get_attr_for_layout<'dom>( .iter() .find(|attr| { let attr = attr.to_layout(); - *name == attr.local_name_atom() && (*attr.unsafe_get()).namespace() == namespace + name == attr.local_name() && namespace == attr.namespace() }) .map(|attr| attr.to_layout()) } @@ -600,7 +600,7 @@ impl RawLayoutElementHelpers for Element { namespace: &Namespace, name: &LocalName, ) -> Option<&'a str> { - get_attr_for_layout(self, namespace, name).map(|attr| attr.value_ref_forever()) + get_attr_for_layout(self, namespace, name).map(|attr| attr.as_str()) } #[inline] @@ -610,7 +610,7 @@ impl RawLayoutElementHelpers for Element { .iter() .filter_map(|attr| { let attr = attr.to_layout(); - if *name == attr.local_name_atom() { + if name == attr.local_name() { Some(attr.value()) } else { None @@ -656,7 +656,7 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> { get_attr_for_layout(&*self.unsafe_get(), &ns!(), &local_name!("class")).map_or( false, |attr| { - attr.value_tokens() + attr.as_tokens() .unwrap() .iter() .any(|atom| case_sensitivity.eq_atom(atom, name)) @@ -668,7 +668,7 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> { #[inline] unsafe fn get_classes_for_layout(self) -> Option<&'dom [Atom]> { get_attr_for_layout(&*self.unsafe_get(), &ns!(), &local_name!("class")) - .map(|attr| attr.value_tokens().unwrap()) + .map(|attr| attr.as_tokens().unwrap()) } #[allow(unsafe_code)] |