Bug 1316236: Treat zero perspective as inf perspective. r?xidorn
MozReview-Commit-ID: 8BE0vLsxbdS
--- a/layout/style/nsStyleTransformMatrix.cpp
+++ b/layout/style/nsStyleTransformMatrix.cpp
@@ -746,21 +746,22 @@ static void
ProcessPerspective(Matrix4x4& aMatrix,
const nsCSSValue::Array* aData,
nsStyleContext *aContext,
nsPresContext *aPresContext,
RuleNodeCacheConditions& aConditions)
{
NS_PRECONDITION(aData->Count() == 2, "Invalid array!");
- float depth = std::max(ProcessTranslatePart(aData->Item(1), aContext,
- aPresContext, aConditions,
- nullptr),
- std::numeric_limits<float>::epsilon());
- aMatrix.Perspective(depth);
+ float depth = ProcessTranslatePart(aData->Item(1), aContext,
+ aPresContext, aConditions,
+ nullptr);
+ if (depth > 0) {
+ aMatrix.Perspective(depth);
+ }
}
/**
* SetToTransformFunction is essentially a giant switch statement that fans
* out to many smaller helper functions.
*/
static void