Incomplete repaint on twitter.com when replying to a tweet
https://bugs.webkit.org/show_bug.cgi?id=87553

Reviewed by Dean Jackson.

Manual test that adds a transform to a layer, forcing that
layer to gain backing store.

* ManualTests/compositing/requires-backing-change.html: Added.

Source/WebCore:

Reviewed by Dean Jackson.

Style changes can cause a compositing layer to change between
requiring its own backing store or not, e.g. with the addition
or removal of a transform.

When that happens, we need to repaint the ancesetor layer that
this layer was, or will be drawing into.

Factored some code out of layerWillBeRemoved() to be able to
also call it from setRequiresOwnBackingStore().

New manual test, ManualTests/compositing/requires-backing-change.html.
I was not able to get an automated pixel test to work.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers): Remove trailing whitespace.
(WebCore::RenderLayerCompositor::repaintInCompositedAncestor):
(WebCore::RenderLayerCompositor::layerWillBeRemoved):
* rendering/RenderLayerCompositor.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
6 files changed