Skip to content

Commit

Permalink
style: Use nsAtom instead of nsString for FontFamilyName.
Browse files Browse the repository at this point in the history
Bug: 1490997
Reviewed-by: lsalzman
  • Loading branch information
jfkthame authored and emilio committed Sep 22, 2018
1 parent cc53ec8 commit 5c66290
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions components/style/values/computed/font.rs
Expand Up @@ -483,16 +483,19 @@ impl SingleFontFamily {
FontFamilyType::eFamily_fantasy => SingleFontFamily::Generic(atom!("fantasy")),
FontFamilyType::eFamily_moz_fixed => SingleFontFamily::Generic(atom!("-moz-fixed")),
FontFamilyType::eFamily_named => {
let name = Atom::from(&*family.mName);
let name = unsafe { Atom::from_raw(family.mName.mRawPtr) };
SingleFontFamily::FamilyName(FamilyName {
name,
syntax: FamilyNameSyntax::Identifiers,
})
},
FontFamilyType::eFamily_named_quoted => SingleFontFamily::FamilyName(FamilyName {
name: (&*family.mName).into(),
syntax: FamilyNameSyntax::Quoted,
}),
FontFamilyType::eFamily_named_quoted => {
let name = unsafe { Atom::from_raw(family.mName.mRawPtr) };
SingleFontFamily::FamilyName(FamilyName {
name,
syntax: FamilyNameSyntax::Quoted,
})
},
_ => panic!("Found unexpected font FontFamilyType"),
}
}
Expand Down Expand Up @@ -538,9 +541,15 @@ impl Hash for FontFamilyList {
where
H: Hasher,
{
use string_cache::WeakAtom;

for name in self.0.mNames.iter() {
name.mType.hash(state);
name.mName.hash(state);
if !name.mName.mRawPtr.is_null() {
unsafe {
WeakAtom::new(name.mName.mRawPtr).hash(state);
}
}
}
}
}
Expand All @@ -552,7 +561,7 @@ impl PartialEq for FontFamilyList {
return false;
}
for (a, b) in self.0.mNames.iter().zip(other.0.mNames.iter()) {
if a.mType != b.mType || &*a.mName != &*b.mName {
if a.mType != b.mType || a.mName.mRawPtr != b.mName.mRawPtr {
return false;
}
}
Expand Down

0 comments on commit 5c66290

Please sign in to comment.