| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/PaintInvalidator.h" | 5 #include "core/paint/PaintInvalidator.h" |
| 6 | 6 |
| 7 #include "core/editing/FrameSelection.h" | 7 #include "core/editing/FrameSelection.h" |
| 8 #include "core/frame/FrameView.h" | 8 #include "core/frame/FrameView.h" |
| 9 #include "core/frame/LocalFrame.h" | 9 #include "core/frame/LocalFrame.h" |
| 10 #include "core/frame/Settings.h" | 10 #include "core/frame/Settings.h" |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 | 326 |
| 327 DCHECK(context.paintInvalidationContainer == | 327 DCHECK(context.paintInvalidationContainer == |
| 328 object.containerForPaintInvalidation()); | 328 object.containerForPaintInvalidation()); |
| 329 DCHECK(context.paintingLayer == object.paintingLayer()); | 329 DCHECK(context.paintingLayer == object.paintingLayer()); |
| 330 | 330 |
| 331 if (object.mayNeedPaintInvalidationSubtree()) | 331 if (object.mayNeedPaintInvalidationSubtree()) |
| 332 context.forcedSubtreeInvalidationFlags |= | 332 context.forcedSubtreeInvalidationFlags |= |
| 333 PaintInvalidatorContext::ForcedSubtreeInvalidationChecking; | 333 PaintInvalidatorContext::ForcedSubtreeInvalidationChecking; |
| 334 | 334 |
| 335 // TODO(crbug.com/637313): This is temporary before we support filters in | 335 // TODO(crbug.com/637313): This is temporary before we support filters in |
| 336 // paint property tree. | 336 // GeometryMapper. |
| 337 // TODO(crbug.com/648274): This is a workaround for multi-column contents. | 337 // TODO(crbug.com/648274): This is a workaround for multi-column contents. |
| 338 // TODO(crbug.com/672989): This is a workaround for out-of-flow positioned | 338 if (object.hasFilterInducingProperty() || object.isLayoutFlowThread()) { |
| 339 // objects in multi-column spanner. | |
| 340 if (object.hasFilterInducingProperty() || object.isLayoutFlowThread() || | |
| 341 object.isColumnSpanAll()) { | |
| 342 context.forcedSubtreeInvalidationFlags |= | 339 context.forcedSubtreeInvalidationFlags |= |
| 343 PaintInvalidatorContext::ForcedSubtreeSlowPathRect; | 340 PaintInvalidatorContext::ForcedSubtreeSlowPathRect; |
| 344 } | 341 } |
| 345 | 342 |
| 346 ObjectPaintInvalidator objectPaintInvalidator(object); | 343 ObjectPaintInvalidator objectPaintInvalidator(object); |
| 347 context.oldVisualRect = object.previousVisualRect(); | 344 context.oldVisualRect = object.previousVisualRect(); |
| 348 context.oldLocation = objectPaintInvalidator.previousLocationInBacking(); | 345 context.oldLocation = objectPaintInvalidator.previousLocationInBacking(); |
| 349 context.newVisualRect = computeVisualRectInBacking(object, context); | 346 context.newVisualRect = computeVisualRectInBacking(object, context); |
| 350 context.newLocation = computeLocationInBacking(object, context); | 347 context.newLocation = computeLocationInBacking(object, context); |
| 351 | 348 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 PaintInvalidatorContext::ForcedSubtreeInvalidationRectUpdate; | 450 PaintInvalidatorContext::ForcedSubtreeInvalidationRectUpdate; |
| 454 } | 451 } |
| 455 | 452 |
| 456 void PaintInvalidator::processPendingDelayedPaintInvalidations() { | 453 void PaintInvalidator::processPendingDelayedPaintInvalidations() { |
| 457 for (auto target : m_pendingDelayedPaintInvalidations) | 454 for (auto target : m_pendingDelayedPaintInvalidations) |
| 458 target->getMutableForPainting().setShouldDoFullPaintInvalidation( | 455 target->getMutableForPainting().setShouldDoFullPaintInvalidation( |
| 459 PaintInvalidationDelayedFull); | 456 PaintInvalidationDelayedFull); |
| 460 } | 457 } |
| 461 | 458 |
| 462 } // namespace blink | 459 } // namespace blink |
| OLD | NEW |