Avoid wrapping to negative font sizes. (Bug 565248) r=roc

This commit is contained in:
L. David Baron 2010-05-13 19:36:48 -07:00
Родитель e9a8268fd1
Коммит 494c35914d
3 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,2 @@
<html><body style="font-size: 18014398509481984%"></body></html>

Просмотреть файл

@ -53,3 +53,4 @@ load 509569-1.html
load 524252-1.html
load font-face-truncated-src.html
load 536789-1.html
load 565248-1.html

Просмотреть файл

@ -2694,7 +2694,8 @@ struct SetFontSizeCalcOps : public mozilla::css::BasicCoordCalcOps,
// Note that % units use the parent's size unadjusted for scriptlevel
// changes. A scriptlevel change between us and the parent is simply
// ignored.
size = NSToCoordRound(mParentSize * aValue.GetPercentValue());
// aValue.GetPercentValue() may be negative for, e.g., calc(-50%)
size = NSCoordSaturatingMultiply(mParentSize, aValue.GetPercentValue());
} else {
NS_ABORT_IF_FALSE(PR_FALSE, "unexpected value");
size = mParentSize;