<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - REGRESSION: WebGL doesn't show up in CSS reflections"
href="https://bugs.webkit.org/show_bug.cgi?id=76489#c10">Comment # 10</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - REGRESSION: WebGL doesn't show up in CSS reflections"
href="https://bugs.webkit.org/show_bug.cgi?id=76489">bug 76489</a>
from <span class="vcard"><a class="email" href="mailto:graouts@webkit.org" title="Antoine Quint <graouts@webkit.org>"> <span class="fn">Antoine Quint</span></a>
</span></b>
<pre>My current understanding of this issue is that reflections are updated to match their replicated layer's content in GraphicsLayerCA::layerDidDisplay where we iterate through the layer clones. There, we check whether the layer that displayed was the layer itself or its content layer. In the case of a <canvas> element using WebGL, we only get notifications for the layer, not the content layer. However, the content layer is the one which has its backing CALayer's contents set to the WebGLLayer's content, so without this notification the code doesn't update the content layer's clones.
I'm not sure why these notifications aren't fired.
As for <video> elements, their reflections work out due to specific work done in PlatformCALayerCocoa::clone to set the AVPlayer of the cloned layer (the replica) to the original layer (the replicated layer).
Not sure yet if we should add WebGL-specific code in PlatformCALayerCocoa::clone or get GraphicsLayerCA::layerDidDisplay to be called with the content layer of a GraphicsLayerCA backing a WebGL <canvas> element. My hunch is the latter, which should trigger once the WebGLLayer has been drawn.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>