Chromium Code Reviews| Index: cc/trees/occlusion_tracker.cc |
| diff --git a/cc/trees/occlusion_tracker.cc b/cc/trees/occlusion_tracker.cc |
| index 5a27d7b1853f8acafc7e5c9b588e88a388679577..c5024047c9ad33a4c60d7c2ad7a2c44659bd129b 100644 |
| --- a/cc/trees/occlusion_tracker.cc |
| +++ b/cc/trees/occlusion_tracker.cc |
| @@ -233,9 +233,9 @@ void OcclusionTrackerBase<LayerType, RenderSurfaceType>::FinishedRenderTarget( |
| // If the occlusion within the surface can not be applied to things outside of |
| // the surface's subtree, then clear the occlusion here so it won't be used. |
| - if (finished_target->mask_layer() || |
| - !SurfaceOpacityKnown(surface) || |
| + if (finished_target->mask_layer() || !SurfaceOpacityKnown(surface) || |
| surface->draw_opacity() < 1 || |
| + !finished_target->uses_default_blend_mode() || |
|
danakj
2013/11/13 21:02:03
Can you add a unit test for this case to occlusion
rosca
2013/11/18 10:01:35
I added unit tests for occlusion in layer_tree_hos
|
| target_is_only_for_copy_request || |
| finished_target->filters().HasFilterThatAffectsOpacity()) { |
| stack_.back().occlusion_from_outside_target.Clear(); |
| @@ -414,6 +414,9 @@ void OcclusionTrackerBase<LayerType, RenderSurfaceType>:: |
| if (!LayerOpacityKnown(layer) || layer->draw_opacity() < 1) |
| return; |
| + if (!layer->uses_default_blend_mode()) |
|
danakj
2013/11/13 21:02:03
Can you add a unit test for this case as well?
|
| + return; |
| + |
| if (LayerIsInUnsorted3dRenderingContext(layer)) |
| return; |