Index: Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
diff --git a/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp b/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
index 70d7cfb92555ba4fbfc0add3d8b7a03ecfbbd000..3698af81bd4d8cb2f54abf40187342a8092fbe7f 100644 |
--- a/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
+++ b/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
@@ -50,6 +50,7 @@ |
#include "core/page/scrolling/ScrollingCoordinator.h" |
#include "core/paint/DeprecatedPaintLayerPainter.h" |
#include "core/paint/DeprecatedPaintLayerStackingNodeIterator.h" |
+#include "core/paint/PaintDataCache.h" |
#include "core/paint/ScrollableAreaPainter.h" |
#include "core/paint/TransformRecorder.h" |
#include "core/plugins/PluginView.h" |
@@ -2112,16 +2113,17 @@ void CompositedDeprecatedPaintLayerMapping::doPaintTask(const GraphicsLayerPaint |
float deviceScaleFactor = blink::deviceScaleFactor(paintInfo.paintLayer->layoutObject()->frame()); |
context->setDeviceScaleFactor(deviceScaleFactor); |
+ PaintDataCache paintDataCache; |
+ DeprecatedPaintLayerPaintingInfo paintingInfo(paintInfo.paintLayer, LayoutRect(dirtyRect), PaintBehaviorNormal, paintInfo.paintLayer->subpixelAccumulation(), nullptr, &paintDataCache); |
+ DeprecatedPaintLayerPainter painter(*paintInfo.paintLayer); |
+ |
if (paintInfo.paintLayer->compositingState() != PaintsIntoGroupedBacking) { |
// FIXME: GraphicsLayers need a way to split for multicol. |
- DeprecatedPaintLayerPaintingInfo paintingInfo(paintInfo.paintLayer, LayoutRect(dirtyRect), PaintBehaviorNormal, paintInfo.paintLayer->subpixelAccumulation()); |
- DeprecatedPaintLayerPainter(*paintInfo.paintLayer).paintLayerContents(context, paintingInfo, paintLayerFlags); |
+ painter.paintLayerContents(context, paintingInfo, paintLayerFlags); |
if (paintInfo.paintLayer->containsDirtyOverlayScrollbars()) |
- DeprecatedPaintLayerPainter(*paintInfo.paintLayer).paintLayerContents(context, paintingInfo, paintLayerFlags | PaintLayerPaintingOverlayScrollbars); |
+ painter.paintLayerContents(context, paintingInfo, paintLayerFlags | PaintLayerPaintingOverlayScrollbars); |
} else { |
- DeprecatedPaintLayerPaintingInfo paintingInfo(paintInfo.paintLayer, LayoutRect(dirtyRect), PaintBehaviorNormal, paintInfo.paintLayer->subpixelAccumulation()); |
- |
// DeprecatedPaintLayer::paintLayer assumes that the caller clips to the passed rect. Squashed layers need to do this clipping in software, |
// since there is no graphics layer to clip them precisely. Furthermore, in some cases we squash layers that need clipping in software |
// from clipping ancestors (see CompositedDeprecatedPaintLayerMapping::localClipRectForSquashedLayer()). |
@@ -2138,7 +2140,7 @@ void CompositedDeprecatedPaintLayerMapping::doPaintTask(const GraphicsLayerPaint |
clipDisplayItem.replay(*context); |
} |
} |
- DeprecatedPaintLayerPainter(*paintInfo.paintLayer).paintLayer(context, paintingInfo, paintLayerFlags); |
+ painter.paintLayer(context, paintingInfo, paintLayerFlags); |
{ |
if (context->displayItemList()) { |
ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled()); |