Bug 1454830 part 1 - Adjust GETCS_NEEDS_LAYOUT_FLUSH flag in nsCSSPropList.h. r?emilio draft
authorXidorn Quan <me@upsuper.org>
Fri, 20 Apr 2018 19:10:55 +1000
changeset 785540 a2c7758dc738fdacc3a7e057249dd2c4ada771dd
parent 785523 818c9f52bfe85ec61b3c5b34eef264f6c178bc6f
child 785541 757f0f5a378e64ac22c8c9db562d0429b95ae8b7
child 785617 5dedc67687a80df221ecbdc53a75068d98b6f813
push id107256
push userxquan@mozilla.com
push dateFri, 20 Apr 2018 10:55:10 +0000
reviewersemilio
bugs1454830
milestone61.0a1
Bug 1454830 part 1 - Adjust GETCS_NEEDS_LAYOUT_FLUSH flag in nsCSSPropList.h. r?emilio margin-inline-{end,start} should have this flag because their corresponding physical properties have this flag, as well as their equivalents in the block direction. {max,min}-{block,inline}-size should not have this flag, because their corresponding physical properties don't have it, so they shouldn't need it either. rotate and scale have nothing to do with the frame at all, so they don't need layout flush. Note that transform and translate need layout flush because they need to resolve percentage to length. MozReview-Commit-ID: BcnnOGJIOwO
layout/style/nsCSSPropList.h
--- a/layout/style/nsCSSPropList.h
+++ b/layout/style/nsCSSPropList.h
@@ -1706,25 +1706,25 @@ CSS_PROP_(
     CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr)
 CSS_PROP_(
     margin-inline-end,
     margin_inline_end,
     MarginInlineEnd,
-    0,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr)
 CSS_PROP_(
     margin-inline-start,
     margin_inline_start,
     MarginInlineStart,
-    0,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr)
 CSS_PROP_(
     margin-left,
     margin_left,
     MarginLeft,
     CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
@@ -1894,49 +1894,49 @@ CSS_PROP_(
     VARIANT_HK,
     kMathVariantKTable)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_(
     max-block-size,
     max_block_size,
     MaxBlockSize,
-    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    0,
     "",
     VARIANT_HLPO | VARIANT_CALC,
     nullptr)
 CSS_PROP_(
     max-height,
     max_height,
     MaxHeight,
     0,
     "",
     VARIANT_HKLPO | VARIANT_CALC,
     kWidthKTable)
 CSS_PROP_(
     max-inline-size,
     max_inline_size,
     MaxInlineSize,
-    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    0,
     "",
     VARIANT_HKLPO | VARIANT_CALC,
     kWidthKTable)
 CSS_PROP_(
     max-width,
     max_width,
     MaxWidth,
     0,
     "",
     VARIANT_HKLPO | VARIANT_CALC,
     kWidthKTable)
 CSS_PROP_(
     min-block-size,
     min_block_size,
     MinBlockSize,
-    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    0,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_(
     -moz-min-font-size-ratio,
     _moz_min_font_size_ratio,
     CSS_PROP_DOMPROP_PREFIXED(MinFontSizeRatio),
@@ -1953,17 +1953,17 @@ CSS_PROP_(
     0,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable)
 CSS_PROP_(
     min-inline-size,
     min_inline_size,
     MinInlineSize,
-    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    0,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable)
 CSS_PROP_(
     min-width,
     min_width,
     MinWidth,
     0,
@@ -2386,18 +2386,17 @@ CSS_PROP_(
     CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr)
 CSS_PROP_(
     rotate,
     rotate,
     Rotate,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "layout.css.individual-transform.enabled",
     0,
     nullptr)
 CSS_PROP_(
     ruby-align,
     ruby_align,
     RubyAlign,
     0,
@@ -2411,18 +2410,17 @@ CSS_PROP_(
     0,
     "",
     VARIANT_HK,
     kRubyPositionKTable)
 CSS_PROP_(
     scale,
     scale,
     Scale,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "layout.css.individual-transform.enabled",
     0,
     nullptr)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_(
     -moz-script-level,
     _moz_script_level,