REGRESSION (r132516): Javascript menu text incorrectly disappearing and reappearing
https://bugs.webkit.org/show_bug.cgi?id=101047

Reviewed by Simon Fraser.

Compositing layers keep track of ancestors' clipping by constructing the RenderLayerBacking::m_ancestorClippingLayer.
It helps setting up the proper clipping context for the corresponding graphics layer.
When a RenderObject's clipping style changes, it needs to propagate this change not only
to the associated RenderLayer, but also to the descendants', if applicable.
Before r132516, it was mainly covered by initiating full style recalcs, which ensured that
style recalc on the descendant rendering tree took care of creating/destroying
RenderLayerBacking::m_ancestorClippingLayer at every compositing layer node. Without the full
recalc, the clipping of the compositing render layers and the corresponding render subtrees can get out of sync.
This patch updates the clipping context on the descendant subtree, when the clipping behaviour
changes on a render node.

Source/WebCore:

Tests: compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html
       compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateDescendantClippingContext):
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::updateAncestorClippingLayer):
(WebCore::RenderLayerBacking::updateDescendantClippingLayer):
* rendering/RenderLayerBacking.h:

LayoutTests:

* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Added.
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html: Added.
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Added.
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155607 268f45cc-cd09-0410-ab3c-d52691b4dbfc