style: Don't crash when finding an unexpected default font type.

For now just return sans-serif, though as the FIXME comment indicates we should
probably just carry around the font-name instead.

Bug: 1442195
Reviewed-by: xidorn
MozReview-Commit-ID: CIPbV3R5Ul
This commit is contained in:
Emilio Cobos Álvarez 2018-05-14 15:19:34 +02:00
parent 1314f47da5
commit dccb8263cc
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -2326,14 +2326,25 @@ fn static_assert() {
let shared_fontlist = unsafe { fontlist.mFontlist.mBasePtr.to_safe() }; let shared_fontlist = unsafe { fontlist.mFontlist.mBasePtr.to_safe() };
if shared_fontlist.mNames.is_empty() { if shared_fontlist.mNames.is_empty() {
let default = match fontlist.mDefaultFontType { let default = fontlist.mDefaultFontType;
let default = match default {
FontFamilyType::eFamily_serif => { FontFamilyType::eFamily_serif => {
SingleFontFamily::Generic(atom!("serif")) SingleFontFamily::Generic(atom!("serif"))
} }
FontFamilyType::eFamily_sans_serif => { _ => {
// This can break with some combinations of user prefs, see
// bug 1442195 for example. It doesn't really matter in this
// case...
//
// FIXME(emilio): Probably should be storing the whole
// default font name instead though.
debug_assert_eq!(
default,
FontFamilyType::eFamily_sans_serif,
"Default generic should be serif or sans-serif"
);
SingleFontFamily::Generic(atom!("sans-serif")) SingleFontFamily::Generic(atom!("sans-serif"))
} }
_ => panic!("Default generic must be serif or sans-serif"),
}; };
FontFamily(FontFamilyList::new(Box::new([default]))) FontFamily(FontFamilyList::new(Box::new([default])))
} else { } else {