Remove a bunch of _forever suffixes in Attr methods

They don't return &'static references anymore.
This commit is contained in:
Anthony Ramine 2020-03-30 12:19:28 +02:00
parent ba5bcec7e4
commit 02fb5a68e6
2 changed files with 14 additions and 14 deletions

View file

@ -234,35 +234,35 @@ impl Attr {
#[allow(unsafe_code)] #[allow(unsafe_code)]
pub trait AttrHelpersForLayout<'dom> { pub trait AttrHelpersForLayout<'dom> {
unsafe fn value_forever(self) -> &'dom AttrValue; unsafe fn value(self) -> &'dom AttrValue;
unsafe fn value_ref_forever(self) -> &'dom str; unsafe fn value_ref_forever(self) -> &'dom str;
unsafe fn value_tokens_forever(self) -> Option<&'dom [Atom]>; unsafe fn value_tokens(self) -> Option<&'dom [Atom]>;
unsafe fn local_name_atom_forever(self) -> LocalName; unsafe fn local_name_atom(self) -> LocalName;
} }
#[allow(unsafe_code)] #[allow(unsafe_code)]
impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> { impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> {
#[inline] #[inline]
unsafe fn value_forever(self) -> &'dom AttrValue { unsafe fn value(self) -> &'dom AttrValue {
(*self.unsafe_get()).value.borrow_for_layout() (*self.unsafe_get()).value.borrow_for_layout()
} }
#[inline] #[inline]
unsafe fn value_ref_forever(self) -> &'dom str { unsafe fn value_ref_forever(self) -> &'dom str {
&**self.value_forever() &**self.value()
} }
#[inline] #[inline]
unsafe fn value_tokens_forever(self) -> Option<&'dom [Atom]> { unsafe fn value_tokens(self) -> Option<&'dom [Atom]> {
// This transmute is used to cheat the lifetime restriction. // This transmute is used to cheat the lifetime restriction.
match *self.value_forever() { match *self.value() {
AttrValue::TokenList(_, ref tokens) => Some(tokens), AttrValue::TokenList(_, ref tokens) => Some(tokens),
_ => None, _ => None,
} }
} }
#[inline] #[inline]
unsafe fn local_name_atom_forever(self) -> LocalName { unsafe fn local_name_atom(self) -> LocalName {
(*self.unsafe_get()).identifier.local_name.clone() (*self.unsafe_get()).identifier.local_name.clone()
} }
} }

View file

@ -578,7 +578,7 @@ pub unsafe fn get_attr_for_layout<'dom>(
.iter() .iter()
.find(|attr| { .find(|attr| {
let attr = attr.to_layout(); let attr = attr.to_layout();
*name == attr.local_name_atom_forever() && (*attr.unsafe_get()).namespace() == namespace *name == attr.local_name_atom() && (*attr.unsafe_get()).namespace() == namespace
}) })
.map(|attr| attr.to_layout()) .map(|attr| attr.to_layout())
} }
@ -591,7 +591,7 @@ impl RawLayoutElementHelpers for Element {
namespace: &Namespace, namespace: &Namespace,
name: &LocalName, name: &LocalName,
) -> Option<&'a AttrValue> { ) -> Option<&'a AttrValue> {
get_attr_for_layout(self, namespace, name).map(|attr| attr.value_forever()) get_attr_for_layout(self, namespace, name).map(|attr| attr.value())
} }
#[inline] #[inline]
@ -610,8 +610,8 @@ impl RawLayoutElementHelpers for Element {
.iter() .iter()
.filter_map(|attr| { .filter_map(|attr| {
let attr = attr.to_layout(); let attr = attr.to_layout();
if *name == attr.local_name_atom_forever() { if *name == attr.local_name_atom() {
Some(attr.value_forever()) Some(attr.value())
} else { } else {
None 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( get_attr_for_layout(&*self.unsafe_get(), &ns!(), &local_name!("class")).map_or(
false, false,
|attr| { |attr| {
attr.value_tokens_forever() attr.value_tokens()
.unwrap() .unwrap()
.iter() .iter()
.any(|atom| case_sensitivity.eq_atom(atom, name)) .any(|atom| case_sensitivity.eq_atom(atom, name))
@ -668,7 +668,7 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> {
#[inline] #[inline]
unsafe fn get_classes_for_layout(self) -> Option<&'dom [Atom]> { unsafe fn get_classes_for_layout(self) -> Option<&'dom [Atom]> {
get_attr_for_layout(&*self.unsafe_get(), &ns!(), &local_name!("class")) get_attr_for_layout(&*self.unsafe_get(), &ns!(), &local_name!("class"))
.map(|attr| attr.value_tokens_forever().unwrap()) .map(|attr| attr.value_tokens().unwrap())
} }
#[allow(unsafe_code)] #[allow(unsafe_code)]