If a blending GraphicsLayer has an ancestorClippingLayer, the blend mode property is propagated to the ancestorClippingLayer. The main graphicsLayer should reset its own blend mode to "normal", otherwise both ancestorClippingLayer and main graphicsLayer will have blend modes.
Created attachment 226920 [details] path v1
The test will pass after submitting https://bugs.webkit.org/show_bug.cgi?id=130331, which brings in blend mode dumping in GraphicsLayers.
Attachment 226920 [details] did not pass style-queue: ERROR: Source/WebCore/rendering/RenderLayerBacking.cpp:2063: One line control clauses should not use braces. [whitespace/braces] [4] Total errors found: 1 in 5 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 227039 [details] fixing style
Comment on attachment 227039 [details] fixing style View in context: https://bugs.webkit.org/attachment.cgi?id=227039&action=review > LayoutTests/css3/compositing/blend-mode-ancestor-clipping-layer.html:31 > + text.innerHTML = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); Why does this test care about repaint rects?
Comment on attachment 227039 [details] fixing style View in context: https://bugs.webkit.org/attachment.cgi?id=227039&action=review >> LayoutTests/css3/compositing/blend-mode-ancestor-clipping-layer.html:31 >> + text.innerHTML = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); > > Why does this test care about repaint rects? It doesn't care about repaint rects. I will remove this flag. Thanks.
Created attachment 227209 [details] patch v3
Comment on attachment 227209 [details] patch v3 Not sure why RenderLayerBacking::setBlendMode() has to exist. RenderLayer::updateBlendMode() is called from RenderLayer::styleChanged() it calls backing()->setBlendMode() but doesn't need to because RenderLayer::styleChanged() always calls either backing()->updateGraphicsLayerGeometry() or triggers a full compositing layer rebuild.
Created attachment 227685 [details] removing RenderLayerBacking::setBlendMode
Yes, it seems like it's useless as RenderLayerBacking::updateBlendMode used to be called each time after RenderLayerBacking::setBlendMode. I removed it with the last patch. Thanks.
Comment on attachment 227685 [details] removing RenderLayerBacking::setBlendMode Clearing flags on attachment: 227685 Committed r166526: <http://trac.webkit.org/changeset/166526>
All reviewed patches have been landed. Closing bug.