From 90ee40f43f1a640e02235ffc76f5c8ec42e3ca8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 10 Oct 2017 18:10:55 +0200 Subject: [PATCH] style: Fix ex computation with more than one operand. --- components/style/values/specified/calc.rs | 2 +- tests/wpt/metadata/MANIFEST.json | 25 +++++++++++++++++++ .../ex-calc-expression-001-ref.html | 11 ++++++++ .../css-values-3/ex-calc-expression-001.html | 19 ++++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001.html diff --git a/components/style/values/specified/calc.rs b/components/style/values/specified/calc.rs index 3ac81d5903c..431248f704d 100644 --- a/components/style/values/specified/calc.rs +++ b/components/style/values/specified/calc.rs @@ -372,7 +372,7 @@ impl CalcNode { ret.em = Some(ret.em.unwrap_or(0.) + em * factor); } FontRelativeLength::Ex(ex) => { - ret.ex = Some(ret.em.unwrap_or(0.) + ex * factor); + ret.ex = Some(ret.ex.unwrap_or(0.) + ex * factor); } FontRelativeLength::Ch(ch) => { ret.ch = Some(ret.ch.unwrap_or(0.) + ch * factor); diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 237842156fb..72c1dc5e9cd 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -139305,6 +139305,18 @@ {} ] ], + "css/css-values-3/ex-calc-expression-001.html": [ + [ + "/css/css-values-3/ex-calc-expression-001.html", + [ + [ + "/css/css-values-3/ex-calc-expression-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-values-3/initial-background-color.html": [ [ "/css/css-values-3/initial-background-color.html", @@ -245196,6 +245208,11 @@ {} ] ], + "css/css-values-3/ex-calc-expression-001-ref.html": [ + [ + {} + ] + ], "css/css-values-3/reference/200-200-green.html": [ [ {} @@ -528644,6 +528661,14 @@ "f9080ef8e6db6888e9d53b30c36e5a6234ecf0b1", "reftest" ], + "css/css-values-3/ex-calc-expression-001-ref.html": [ + "82d289ca9e58621c22249c5d5517933b3e5a2f82", + "support" + ], + "css/css-values-3/ex-calc-expression-001.html": [ + "86a53c6f9609456824c134d4c4834669adddae49", + "reftest" + ], "css/css-values-3/iframe/vh-support-transform-origin-iframe.html": [ "e295875de4bc58b51c45db9a87648749bdfc7e8d", "visual" diff --git a/tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001-ref.html b/tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001-ref.html new file mode 100644 index 00000000000..888a51ea9b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001-ref.html @@ -0,0 +1,11 @@ + +CSS Test Reference + + +
diff --git a/tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001.html b/tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001.html new file mode 100644 index 00000000000..4eab829697f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values-3/ex-calc-expression-001.html @@ -0,0 +1,19 @@ + + +CSS Test: Calc expression using multiple ex operands + + + + +