Index: Source/core/rendering/style/RenderStyle.h |
diff --git a/Source/core/rendering/style/RenderStyle.h b/Source/core/rendering/style/RenderStyle.h |
index eb5496ea25990b2a81140b143f74c47db208e030..0c943f32ae86d8837694cbaec4031a7be6d17566 100644 |
--- a/Source/core/rendering/style/RenderStyle.h |
+++ b/Source/core/rendering/style/RenderStyle.h |
@@ -1788,19 +1788,22 @@ private: |
unsigned computeChangedContextSensitiveProperties(const RenderStyle& other, StyleDifference) const; |
}; |
+// FIXME: Reduce/remove the dependency on zoom adjusted int values. |
+// The float or LayoutUnit versions of layout values should be used. |
inline int adjustForAbsoluteZoom(int value, float zoomFactor) |
{ |
if (zoomFactor == 1) |
return value; |
// Needed because computeLengthInt truncates (rather than rounds) when scaling up. |
+ float fvalue = value; |
if (zoomFactor > 1) { |
if (value < 0) |
- value--; |
+ fvalue -= 0.5f; |
else |
- value++; |
+ fvalue += 0.5f; |
} |
- return roundForImpreciseConversion<int>(value / zoomFactor); |
+ return roundForImpreciseConversion<int>(fvalue / zoomFactor); |
} |
inline int adjustForAbsoluteZoom(int value, const RenderStyle* style) |