Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
index df982ee3b772a6d2fc8da5b4bab1e45cf1824700..f1f683b47c1d4b69f10391d4f6de1780a9c81348 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
@@ -2243,10 +2243,11 @@ LayoutRect PaintLayer::boundingBoxForCompositing(const PaintLayer* ancestorLayer |
else |
expandRectForReflectionAndStackingChildren(this, result); |
- // FIXME: We can optimize the size of the composited layers, by not enlarging |
- // filtered areas with the outsets if we know that the filter is going to render in hardware. |
- // https://bugs.webkit.org/show_bug.cgi?id=81239 |
- result.expand(filterOutsets()); |
+ // Only enlarge by the filter outsets if we know the filter is going to be rendered in software. |
+ // Accelerated filters will handle their own outsets. |
+ if (paintsWithFilters()) { |
+ result.expand(filterOutsets()); |
+ } |
} |
if (transform() && paintsWithTransform(GlobalPaintNormalPhase) && (this != ancestorLayer || options == MaybeIncludeTransformForAncestorLayer)) |