Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp |
diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
index 81603f801f981f1f2d05c5322fefc8b5cb3b13c7..bea0a6d2e8e8b6340b7996aca6cc34f7f903c117 100644 |
--- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
+++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
@@ -480,8 +480,14 @@ bool RenderLayerCompositor::updateLayerIfViewportConstrained(RenderLayer* layer) |
// See crbug.com/383191 for a list of tests that fail if this method is removed. |
void RenderLayerCompositor::applyUpdateLayerCompositingStateChickenEggHacks(RenderLayer* layer, CompositingStateTransitionType compositedLayerUpdate) |
{ |
- if (compositedLayerUpdate != NoCompositingStateChange) |
- allocateOrClearCompositedLayerMapping(layer, compositedLayerUpdate); |
+ if (compositedLayerUpdate != NoCompositingStateChange) { |
+ bool compositedLayerMappingChanged = allocateOrClearCompositedLayerMapping(layer, compositedLayerUpdate); |
+ if (compositedLayerMappingChanged) { |
+ if (layer->parent()) |
chrishtr
2014/06/13 15:45:38
Please add a comment here about why the layer->par
ajuma
2014/06/13 18:03:50
Done.
|
+ layer->repainter().computeRepaintRectsIncludingNonCompositingDescendants(); |
ajuma
2014/06/13 14:54:52
I also needed to make this call conditional on hav
|
+ repaintOnCompositingChange(layer); |
+ } |
+ } |
} |
void RenderLayerCompositor::updateLayerCompositingState(RenderLayer* layer, UpdateLayerCompositingStateOptions options) |