Layers with opacity and blur filters are reported as opaque to the compositor
https://bugs.webkit.org/show_bug.cgi?id=114295

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/contents-opaque/filter.html

Some filters like opacity and blur might still trigger transparency in the layer, even though the
background is opaque. I've added the special case in RenderLayer::backgroundIsKnownToBeOpaqueInRect to check
for filters that might have transparency. Note that this special case is required only for software drawn
filters, as the transparency is going to be backed in the GraphicsLayer content. Composited filters can
figure it out in the compositor.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Added test to check for blur and opacity filters drawn in software mode which needs
to force the layer report non-opaque to the compositor.

* compositing/contents-opaque/filter-expected.txt: Added.
* compositing/contents-opaque/filter.html: Added.


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