| Index: third_party/WebKit/Source/core/paint/BoxPainter.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/BoxPainter.cpp b/third_party/WebKit/Source/core/paint/BoxPainter.cpp
|
| index 4ec4a3c677611dc0c46509c959637719c0fc512b..6c61fc4d8a91e46f27e3d1bde6cbb0ba1db41054 100644
|
| --- a/third_party/WebKit/Source/core/paint/BoxPainter.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/BoxPainter.cpp
|
| @@ -213,39 +213,6 @@ void BoxPainter::PaintBackground(const PaintInfo& paint_info,
|
| bleed_avoidance);
|
| }
|
|
|
| -bool BoxPainter::CalculateFillLayerOcclusionCulling(
|
| - FillLayerOcclusionOutputList& reversed_paint_list,
|
| - const FillLayer& fill_layer) {
|
| - bool is_non_associative = false;
|
| - for (auto current_layer = &fill_layer; current_layer;
|
| - current_layer = current_layer->Next()) {
|
| - reversed_paint_list.push_back(current_layer);
|
| - // Stop traversal when an opaque layer is encountered.
|
| - // FIXME : It would be possible for the following occlusion culling test to
|
| - // be more aggressive on layers with no repeat by testing whether the image
|
| - // covers the layout rect. Testing that here would imply duplicating a lot
|
| - // of calculations that are currently done in
|
| - // LayoutBoxModelObject::paintFillLayer. A more efficient solution might be
|
| - // to move the layer recursion into paintFillLayer, or to compute the layer
|
| - // geometry here and pass it down.
|
| -
|
| - // TODO(trchen): Need to check compositing mode as well.
|
| - if (current_layer->BlendMode() != kWebBlendModeNormal)
|
| - is_non_associative = true;
|
| -
|
| - // TODO(trchen): A fill layer cannot paint if the calculated tile size is
|
| - // empty. This occlusion check can be wrong.
|
| - if (current_layer->ClipOccludesNextLayers() &&
|
| - current_layer->ImageOccludesNextLayers(layout_box_.GetDocument(),
|
| - layout_box_.StyleRef())) {
|
| - if (current_layer->Clip() == kBorderFillBox)
|
| - is_non_associative = false;
|
| - break;
|
| - }
|
| - }
|
| - return is_non_associative;
|
| -}
|
| -
|
| void BoxPainter::PaintFillLayers(const PaintInfo& paint_info,
|
| const Color& c,
|
| const FillLayer& fill_layer,
|
| @@ -255,7 +222,9 @@ void BoxPainter::PaintFillLayers(const PaintInfo& paint_info,
|
| const LayoutObject* background_object) {
|
| FillLayerOcclusionOutputList reversed_paint_list;
|
| bool should_draw_background_in_separate_buffer =
|
| - CalculateFillLayerOcclusionCulling(reversed_paint_list, fill_layer);
|
| + CalculateFillLayerOcclusionCulling(reversed_paint_list, fill_layer,
|
| + layout_box_.GetDocument(),
|
| + layout_box_.StyleRef());
|
|
|
| // TODO(trchen): We can optimize out isolation group if we have a
|
| // non-transparent background color and the bottom layer encloses all other
|
|
|