Bug 1457288 - Part 1: Clamp EllipseShapeInfo distance field operands to the maximum shape-margin we are willing to compute. r=mats

MozReview-Commit-ID: IXAV0uaxB0R
This commit is contained in:
Brad Werth 2018-04-27 13:10:08 -07:00
Родитель e9432bbb09
Коммит 914c3f1d6c
1 изменённых файлов: 4 добавлений и 4 удалений

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

@ -807,11 +807,11 @@ nsFloatManager::EllipseShapeInfo::EllipseShapeInfo(const nsPoint& aCenter,
dfType usedMargin5X = (dfType)std::min((int32_t)MAX_MARGIN_5X,
shapeMarginDevPixelsInt5X);
nsSize radiiPlusShapeMargin(mRadii.width + aShapeMargin,
mRadii.height + aShapeMargin);
const LayoutDeviceIntSize bounds =
LayoutDevicePixel::FromAppUnitsRounded(radiiPlusShapeMargin,
aAppUnitsPerDevPixel);
LayoutDevicePixel::FromAppUnitsRounded(mRadii,
aAppUnitsPerDevPixel) +
LayoutDeviceIntSize(usedMargin5X / 5, usedMargin5X / 5);
// Since our distance field is computed with a 5x5 neighborhood, but only
// looks in the negative block and negative inline directions, it is
// effectively a 3x3 neighborhood. We need to expand our distance field