aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-05-14 13:19:19 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-05-14 16:27:12 +0200
commit51166375c6978c39a894bcbeccacf98e3d3eca1b (patch)
tree05fdfc9fcb9c9caf43cb8d7716763b5e172875ad
parentdab2df356594bf89502fc5934d8c16a57e3fdf45 (diff)
downloadservo-51166375c6978c39a894bcbeccacf98e3d3eca1b.tar.gz
servo-51166375c6978c39a894bcbeccacf98e3d3eca1b.zip
style: Set root font-size right after cascading font-size
This way rem in the root element works as expected. This fixes layout/reftests/css-valuesandunits/unit-rem-root-width.html in Gecko.
-rw-r--r--components/style/properties/properties.mako.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs
index 5772410c38d..79505e92657 100644
--- a/components/style/properties/properties.mako.rs
+++ b/components/style/properties/properties.mako.rs
@@ -2612,6 +2612,7 @@ pub fn apply_declarations<'a, F, I>(device: &Device,
% if category_to_cascade_now == "early":
let writing_mode = get_writing_mode(context.style.get_inheritedbox());
context.style.writing_mode = writing_mode;
+
// It is important that font_size is computed before
// the late properties (for em units), but after font-family
// (for the base-font-size dependence for default and keyword font-sizes)
@@ -2665,6 +2666,11 @@ pub fn apply_declarations<'a, F, I>(device: &Device,
error_reporter);
% endif
}
+
+ if is_root_element {
+ let s = context.style.get_font().clone_font_size();
+ context.style.root_font_size = s;
+ }
% endif
% endfor
@@ -2686,11 +2692,6 @@ pub fn apply_declarations<'a, F, I>(device: &Device,
}
% endif
- if is_root_element {
- let s = style.get_font().clone_font_size();
- style.root_font_size = s;
- }
-
% if product == "servo":
if seen.contains(LonghandId::FontStyle) ||
seen.contains(LonghandId::FontWeight) ||