From 3f796f8016da16dc8231d987fe803ea0df53827a Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Fri, 6 Jan 2017 16:35:00 +0800 Subject: [PATCH] Bug 1311244 Part 1 - Use nsPoint type for center in nsCSSClipPathInstance. r=dbaron |center| should be of nsPoint type since all the arguments of ComputeObjectAnchorPoint() uses nsPoint and nsSize. We should only convert center to Point (which is an an UnknownUnits type) for APIs requiring Point type. MozReview-Commit-ID: EDrQGPUZp6m --HG-- extra : rebase_source : a5494f969dcb08c139af076e95584502f46f0b9e --- layout/svg/nsCSSClipPathInstance.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/layout/svg/nsCSSClipPathInstance.cpp b/layout/svg/nsCSSClipPathInstance.cpp index c566de42299a..080101746b7a 100644 --- a/layout/svg/nsCSSClipPathInstance.cpp +++ b/layout/svg/nsCSSClipPathInstance.cpp @@ -133,7 +133,7 @@ nsCSSClipPathInstance::CreateClipPathCircle(DrawTarget* aDrawTarget, nsImageRenderer::ComputeObjectAnchorPoint(basicShape->GetPosition(), size, size, &topLeft, &anchor); - Point center = Point(anchor.x + aRefBox.x, anchor.y + aRefBox.y); + nsPoint center(anchor.x + aRefBox.x, anchor.y + aRefBox.y); const nsTArray& coords = basicShape->Coordinates(); MOZ_ASSERT(coords.Length() == 1, "wrong number of arguments"); @@ -162,7 +162,8 @@ nsCSSClipPathInstance::CreateClipPathCircle(DrawTarget* aDrawTarget, nscoord appUnitsPerDevPixel = mTargetFrame->PresContext()->AppUnitsPerDevPixel(); - builder->Arc(center / appUnitsPerDevPixel, r / appUnitsPerDevPixel, + builder->Arc(Point(center.x, center.y) / appUnitsPerDevPixel, + r / appUnitsPerDevPixel, 0, Float(2 * M_PI)); builder->Close(); return builder->Finish(); @@ -181,7 +182,7 @@ nsCSSClipPathInstance::CreateClipPathEllipse(DrawTarget* aDrawTarget, nsImageRenderer::ComputeObjectAnchorPoint(basicShape->GetPosition(), size, size, &topLeft, &anchor); - Point center = Point(anchor.x + aRefBox.x, anchor.y + aRefBox.y); + nsPoint center(anchor.x + aRefBox.x, anchor.y + aRefBox.y); const nsTArray& coords = basicShape->Coordinates(); MOZ_ASSERT(coords.Length() == 2, "wrong number of arguments"); @@ -202,7 +203,7 @@ nsCSSClipPathInstance::CreateClipPathEllipse(DrawTarget* aDrawTarget, nscoord appUnitsPerDevPixel = mTargetFrame->PresContext()->AppUnitsPerDevPixel(); EllipseToBezier(builder.get(), - center / appUnitsPerDevPixel, + Point(center.x, center.y) / appUnitsPerDevPixel, Size(rx, ry) / appUnitsPerDevPixel); builder->Close(); return builder->Finish();