CA Accelerated compositing compositor should not refer to WebGLLayer for contents provided layers If it does, all contents provided layers need to be subclasses of WebGLLayer UI side compositing for WebGL needs a hosted CA layer. This layer cannot be the sole layer in the layer hierarchy, because the layer also needs to capture setBounds and send it to the GPU Process CALayer.
Created attachment 440607 [details] Patch
Created attachment 440608 [details] Patch
Created attachment 440609 [details] Patch
Created attachment 440611 [details] Patch
Created attachment 440777 [details] Patch
Comment on attachment 440777 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=440777&action=review > Source/WebCore/platform/graphics/ca/cocoa/WebContentsProviderLayer.h:34 > +@interface WebContentsProviderLayer : CALayer { > +} Get rid of random curly braces > Source/WebCore/platform/graphics/ca/cocoa/WebContentsProviderLayer.mm:35 > + for (CALayer* layer in self.sublayers) > + layer.frame = bounds; This is pretty surprising behavior to have generically; usually I would expect this to be up to each subclass (and probably in -layoutSublayers). Alternatively like smfr suggested, use -autoresizingMask > Source/WebCore/platform/graphics/cocoa/WebGLLayer.mm:59 > + contentsLayer.get().transform = CATransform3DScale(CATransform3DIdentity, 1, -1, 1); `[x set*:]` instead of .get(). (https://trac.webkit.org/changeset/283706/webkit)
Comment on attachment 440777 [details] Patch probably not needed in this form
<rdar://problem/84300467>