mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
stylo: Don't call fixup_generic_font for system or CSS wide specified fonts
This commit is contained in:
parent
3ed6c22e45
commit
69070c7592
2 changed files with 14 additions and 1 deletions
|
@ -2165,11 +2165,17 @@ fn static_assert() {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fixup_none_generic(&mut self, device: &Device) {
|
pub fn fixup_none_generic(&mut self, device: &Device) {
|
||||||
|
self.gecko.mFont.systemFont = false;
|
||||||
unsafe {
|
unsafe {
|
||||||
bindings::Gecko_nsStyleFont_FixupNoneGeneric(&mut self.gecko, device.pres_context())
|
bindings::Gecko_nsStyleFont_FixupNoneGeneric(&mut self.gecko, device.pres_context())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn fixup_system(&mut self) {
|
||||||
|
self.gecko.mFont.systemFont = true;
|
||||||
|
self.gecko.mGenericID = structs::kGenericFont_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
pub fn set_font_family(&mut self, v: longhands::font_family::computed_value::T) {
|
pub fn set_font_family(&mut self, v: longhands::font_family::computed_value::T) {
|
||||||
use properties::longhands::font_family::computed_value::{FontFamily, FamilyNameSyntax};
|
use properties::longhands::font_family::computed_value::{FontFamily, FamilyNameSyntax};
|
||||||
|
|
||||||
|
@ -2206,6 +2212,7 @@ fn static_assert() {
|
||||||
pub fn copy_font_family_from(&mut self, other: &Self) {
|
pub fn copy_font_family_from(&mut self, other: &Self) {
|
||||||
unsafe { Gecko_CopyFontFamilyFrom(&mut self.gecko.mFont, &other.gecko.mFont); }
|
unsafe { Gecko_CopyFontFamilyFrom(&mut self.gecko.mFont, &other.gecko.mFont); }
|
||||||
self.gecko.mGenericID = other.gecko.mGenericID;
|
self.gecko.mGenericID = other.gecko.mGenericID;
|
||||||
|
self.gecko.mFont.systemFont = other.gecko.mFont.systemFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn reset_font_family(&mut self, other: &Self) {
|
pub fn reset_font_family(&mut self, other: &Self) {
|
||||||
|
|
|
@ -3297,7 +3297,13 @@ where
|
||||||
&mut cascade_info);
|
&mut cascade_info);
|
||||||
% if product == "gecko":
|
% if product == "gecko":
|
||||||
let device = context.builder.device;
|
let device = context.builder.device;
|
||||||
context.builder.mutate_font().fixup_none_generic(device);
|
if let PropertyDeclaration::FontFamily(ref val) = **declaration {
|
||||||
|
if val.get_system().is_some() {
|
||||||
|
context.builder.mutate_font().fixup_system();
|
||||||
|
} else {
|
||||||
|
context.builder.mutate_font().fixup_none_generic(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
% endif
|
% endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue