Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Unified Diff: third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp

Issue 2482753002: Fix matrix3d transform under page zoom (Closed)
Patch Set: Add a comment for zoom Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
diff --git a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
index af0f0c3cf40f1fca8abf92558a84da81dabc8e3c..b2c34953cb36e63f4e313fa1a25dfb505ef44c6b 100644
--- a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
+++ b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
@@ -90,13 +90,6 @@ inline static CSSValue* zoomAdjustedPixelValueOrAuto(
return zoomAdjustedPixelValue(length.value(), style);
}
-inline static CSSPrimitiveValue* zoomAdjustedNumberValue(
- double value,
- const ComputedStyle& style) {
- return CSSPrimitiveValue::create(value / style.effectiveZoom(),
- CSSPrimitiveValue::UnitType::Number);
-}
-
static CSSValue* zoomAdjustedPixelValueForLength(const Length& length,
const ComputedStyle& style) {
if (length.isFixed())
@@ -1352,10 +1345,10 @@ static const CSSValue& valueForBorderRadiusCorner(LengthSize radius,
return list;
}
-static CSSFunctionValue* valueForMatrixTransform(
- const TransformationMatrix& transform,
- const ComputedStyle& style) {
+static CSSFunctionValue* valueForMatrixTransform(TransformationMatrix transform,
+ const ComputedStyle& style) {
CSSFunctionValue* transformValue = nullptr;
+ transform.zoom(1 / style.effectiveZoom());
if (transform.isAffine()) {
transformValue = CSSFunctionValue::create(CSSValueMatrix);
@@ -1367,8 +1360,10 @@ static CSSFunctionValue* valueForMatrixTransform(
transform.c(), CSSPrimitiveValue::UnitType::Number));
transformValue->append(*CSSPrimitiveValue::create(
transform.d(), CSSPrimitiveValue::UnitType::Number));
- transformValue->append(*zoomAdjustedNumberValue(transform.e(), style));
- transformValue->append(*zoomAdjustedNumberValue(transform.f(), style));
+ transformValue->append(*CSSPrimitiveValue::create(
+ transform.e(), CSSPrimitiveValue::UnitType::Number));
+ transformValue->append(*CSSPrimitiveValue::create(
+ transform.f(), CSSPrimitiveValue::UnitType::Number));
} else {
transformValue = CSSFunctionValue::create(CSSValueMatrix3d);
@@ -1399,9 +1394,12 @@ static CSSFunctionValue* valueForMatrixTransform(
transformValue->append(*CSSPrimitiveValue::create(
transform.m34(), CSSPrimitiveValue::UnitType::Number));
- transformValue->append(*zoomAdjustedNumberValue(transform.m41(), style));
- transformValue->append(*zoomAdjustedNumberValue(transform.m42(), style));
- transformValue->append(*zoomAdjustedNumberValue(transform.m43(), style));
+ transformValue->append(*CSSPrimitiveValue::create(
+ transform.m41(), CSSPrimitiveValue::UnitType::Number));
+ transformValue->append(*CSSPrimitiveValue::create(
+ transform.m42(), CSSPrimitiveValue::UnitType::Number));
+ transformValue->append(*CSSPrimitiveValue::create(
+ transform.m43(), CSSPrimitiveValue::UnitType::Number));
transformValue->append(*CSSPrimitiveValue::create(
transform.m44(), CSSPrimitiveValue::UnitType::Number));
}

Powered by Google App Engine
This is Rietveld 408576698