Bug 1082017 - Add writing-mode to prerequisites for line-height and font (shorthand) tests, because vertical vs horizontal mode may result in different line metrics. r=dbaron
authorJonathan Kew <jkew@mozilla.com>
Tue, 17 Feb 2015 22:34:25 +0000
changeset 229535 f20cf9991555d47e8f6af2f46d2750c2a3ace079
parent 229534 60d2f893feb93f77cb19b6fb43dd9e9afae2b518
child 229536 ae54f91e4b10609436409a43ac379235913083ba
push id55722
push userjkew@mozilla.com
push dateTue, 17 Feb 2015 22:36:52 +0000
treeherdermozilla-inbound@f20cf9991555 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdbaron
bugs1082017
milestone38.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1082017 - Add writing-mode to prerequisites for line-height and font (shorthand) tests, because vertical vs horizontal mode may result in different line metrics. r=dbaron
layout/style/test/property_database.js
--- a/layout/style/test/property_database.js
+++ b/layout/style/test/property_database.js
@@ -5250,16 +5250,29 @@ if (SpecialPowers.getBoolPref("layout.cs
         "calc(3*25px + 50%)",
       ],
       invalid_values: [ ],
     },
   };
   for (var prop in verticalTextProperties) {
     gCSSProperties[prop] = verticalTextProperties[prop];
   }
+  /*
+   * Vertical vs horizontal writing-mode can affect line-height
+   * because font metrics may not be symmetrical,
+   * so we require writing-mode:initial to ensure consistency
+   * in font shorthand and line-height tests.
+   */
+  ["font", "line-height"].forEach(function(prop) {
+    var p = gCSSProperties[prop];
+    if (p.prerequisites === undefined) {
+      p.prerequisites = {};
+    }
+    p.prerequisites["writing-mode"] = "initial";
+  });
 }
 
 if (SpecialPowers.getBoolPref("layout.css.masking.enabled")) {
   gCSSProperties["mask-type"] = {
     domProp: "maskType",
     inherited: false,
     type: CSS_TYPE_LONGHAND,
     initial_values: [ "luminance" ],