OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/PrePaintTreeWalk.h" | 5 #include "core/paint/PrePaintTreeWalk.h" |
6 | 6 |
7 #include "core/dom/DocumentLifecycle.h" | 7 #include "core/dom/DocumentLifecycle.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/layout/LayoutMultiColumnSpannerPlaceholder.h" | 10 #include "core/layout/LayoutMultiColumnSpannerPlaceholder.h" |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 !paint_layer.GetLayoutObject().HasClipRelatedProperty()) | 169 !paint_layer.GetLayoutObject().HasClipRelatedProperty()) |
170 return; | 170 return; |
171 | 171 |
172 FragmentData* fragment_data = | 172 FragmentData* fragment_data = |
173 &object.GetMutableForPainting().EnsureFirstFragment(); | 173 &object.GetMutableForPainting().EnsureFirstFragment(); |
174 for (auto& fragment : context.tree_builder_context->fragments) { | 174 for (auto& fragment : context.tree_builder_context->fragments) { |
175 DCHECK(fragment_data); | 175 DCHECK(fragment_data); |
176 if (InvalidatePaintLayerOptimizationsForFragment( | 176 if (InvalidatePaintLayerOptimizationsForFragment( |
177 object, context.ancestor_transformed_or_root_paint_layer, fragment, | 177 object, context.ancestor_transformed_or_root_paint_layer, fragment, |
178 *fragment_data)) { | 178 *fragment_data)) { |
179 context.paint_invalidator_context->forced_subtree_invalidation_flags |= | 179 context.paint_invalidator_context->subtree_flags |= |
180 PaintInvalidatorContext::kForcedSubtreeVisualRectUpdate; | 180 PaintInvalidatorContext::kSubtreeVisualRectUpdate; |
181 } | 181 } |
182 fragment_data = fragment_data->NextFragment(); | 182 fragment_data = fragment_data->NextFragment(); |
183 } | 183 } |
184 } | 184 } |
185 | 185 |
186 bool PrePaintTreeWalk::InvalidatePaintLayerOptimizationsForFragment( | 186 bool PrePaintTreeWalk::InvalidatePaintLayerOptimizationsForFragment( |
187 const LayoutObject& object, | 187 const LayoutObject& object, |
188 const PaintLayer* ancestor_transformed_or_root_paint_layer, | 188 const PaintLayer* ancestor_transformed_or_root_paint_layer, |
189 const PaintPropertyTreeBuilderFragmentContext& context, | 189 const PaintPropertyTreeBuilderFragmentContext& context, |
190 FragmentData& fragment_data) { | 190 FragmentData& fragment_data) { |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 } | 345 } |
346 Walk(*frame_view, context); | 346 Walk(*frame_view, context); |
347 } | 347 } |
348 // TODO(pdr): Investigate RemoteFrameView (crbug.com/579281). | 348 // TODO(pdr): Investigate RemoteFrameView (crbug.com/579281). |
349 } | 349 } |
350 | 350 |
351 object.GetMutableForPainting().ClearPaintFlags(); | 351 object.GetMutableForPainting().ClearPaintFlags(); |
352 } | 352 } |
353 | 353 |
354 } // namespace blink | 354 } // namespace blink |
OLD | NEW |