| Index: Source/core/rendering/RenderBoxModelObject.cpp
|
| diff --git a/Source/core/rendering/RenderBoxModelObject.cpp b/Source/core/rendering/RenderBoxModelObject.cpp
|
| index 38c08e4008cdcd7d69132dbf8e0f63a0ec4dedd6..93dcb94b74628c703a04f39d2f602012a0f5328c 100644
|
| --- a/Source/core/rendering/RenderBoxModelObject.cpp
|
| +++ b/Source/core/rendering/RenderBoxModelObject.cpp
|
| @@ -474,6 +474,8 @@ void RenderBoxModelObject::clipRoundedInnerRect(GraphicsContext * context, const
|
| }
|
| }
|
|
|
| +// FIXME: See crbug.com/382491. The use of getCTM in this context is incorrect because the matrix returned does not
|
| +// include scales applied at raster time, such as the device zoom.
|
| static LayoutRect shrinkRectByOnePixel(GraphicsContext* context, const LayoutRect& rect)
|
| {
|
| LayoutRect shrunkRect = rect;
|
| @@ -2554,6 +2556,8 @@ void RenderBoxModelObject::paintBoxShadow(const PaintInfo& info, const LayoutRec
|
| if (hasOpaqueBackground) {
|
| // FIXME: The function to decide on the policy based on the transform should be a named function.
|
| // FIXME: It's not clear if this check is right. What about integral scale factors?
|
| + // FIXME: See crbug.com/382491. The use of getCTM may also be wrong because it does not include
|
| + // device zoom applied at raster time.
|
| AffineTransform transform = context->getCTM();
|
| if (transform.a() != 1 || (transform.d() != 1 && transform.d() != -1) || transform.b() || transform.c())
|
| rectToClipOut.inflate(-1);
|
| @@ -2733,6 +2737,8 @@ bool RenderBoxModelObject::shouldAntialiasLines(GraphicsContext* context)
|
| {
|
| // FIXME: We may want to not antialias when scaled by an integral value,
|
| // and we may want to antialias when translated by a non-integral value.
|
| + // FIXME: See crbug.com/382491. getCTM does not include scale factors applied at raster time, such
|
| + // as device zoom.
|
| return !context->getCTM().isIdentityOrTranslationOrFlipped();
|
| }
|
|
|
|
|