| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/paint/PaintLayerPainter.h" | 5 #include "core/paint/PaintLayerPainter.h" |
| 6 | 6 |
| 7 #include "core/frame/LocalFrame.h" | 7 #include "core/frame/LocalFrame.h" |
| 8 #include "core/layout/LayoutView.h" | 8 #include "core/layout/LayoutView.h" |
| 9 #include "core/paint/ClipPathClipper.h" | 9 #include "core/paint/ClipPathClipper.h" |
| 10 #include "core/paint/FilterPainter.h" | 10 #include "core/paint/FilterPainter.h" |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 | 219 |
| 220 // Repaint subsequence if the layer is marked for needing repaint. | 220 // Repaint subsequence if the layer is marked for needing repaint. |
| 221 // We don't set needsResetEmptyPaintPhase here, but clear the empty paint | 221 // We don't set needsResetEmptyPaintPhase here, but clear the empty paint |
| 222 // phase flags in PaintLayer::setNeedsPaintPhaseXXX(), to ensure that we won't | 222 // phase flags in PaintLayer::setNeedsPaintPhaseXXX(), to ensure that we won't |
| 223 // clear previousPaintPhaseXXXEmpty flags when unrelated things changed which | 223 // clear previousPaintPhaseXXXEmpty flags when unrelated things changed which |
| 224 // won't cause the paint phases to become non-empty. | 224 // won't cause the paint phases to become non-empty. |
| 225 if (paintLayer.needsRepaint()) | 225 if (paintLayer.needsRepaint()) |
| 226 needsRepaint = true; | 226 needsRepaint = true; |
| 227 | 227 |
| 228 // Repaint if layer's clip changes. | 228 // Repaint if layer's clip changes. |
| 229 // TODO(chrishtr): implement detecting clipping changes in SPv2. | 229 if (!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) { |
| 230 // crbug.com/645667 | |
| 231 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { | |
| 232 ClipRects& clipRects = paintLayer.clipper().paintingClipRects( | 230 ClipRects& clipRects = paintLayer.clipper().paintingClipRects( |
| 233 paintingInfo.rootLayer, respectOverflowClip, subpixelAccumulation); | 231 paintingInfo.rootLayer, respectOverflowClip, subpixelAccumulation); |
| 234 ClipRects* previousClipRects = paintLayer.previousPaintingClipRects(); | 232 ClipRects* previousClipRects = paintLayer.previousPaintingClipRects(); |
| 235 if (&clipRects != previousClipRects && | 233 if (&clipRects != previousClipRects && |
| 236 (!previousClipRects || clipRects != *previousClipRects)) { | 234 (!previousClipRects || clipRects != *previousClipRects)) { |
| 237 needsRepaint = true; | 235 needsRepaint = true; |
| 238 shouldClearEmptyPaintPhaseFlags = true; | 236 shouldClearEmptyPaintPhaseFlags = true; |
| 239 } | 237 } |
| 240 paintLayer.setPreviousPaintingClipRects(clipRects); | 238 paintLayer.setPreviousPaintingClipRects(clipRects); |
| 241 } | 239 } |
| (...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1188 context, layoutObject, PaintPhaseClippingMask)) | 1186 context, layoutObject, PaintPhaseClippingMask)) |
| 1189 return; | 1187 return; |
| 1190 | 1188 |
| 1191 IntRect snappedClipRect = pixelSnappedIntRect(clipRect.rect()); | 1189 IntRect snappedClipRect = pixelSnappedIntRect(clipRect.rect()); |
| 1192 LayoutObjectDrawingRecorder drawingRecorder( | 1190 LayoutObjectDrawingRecorder drawingRecorder( |
| 1193 context, layoutObject, PaintPhaseClippingMask, snappedClipRect); | 1191 context, layoutObject, PaintPhaseClippingMask, snappedClipRect); |
| 1194 context.fillRect(snappedClipRect, Color::black); | 1192 context.fillRect(snappedClipRect, Color::black); |
| 1195 } | 1193 } |
| 1196 | 1194 |
| 1197 } // namespace blink | 1195 } // namespace blink |
| OLD | NEW |