Bug 231427

Summary: CA Accelerated compositing compositor should not refer to WebGLLayer for contents provided layers
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebGLAssignee: Kimmo Kinnunen <kkinnunen>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: annulen, dino, ews-watchlist, gyuyoung.kim, kbr, kkinnunen, ryuan.choi, sergio, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 231009    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Kimmo Kinnunen
Reported 2021-10-08 07:26:16 PDT
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.
Attachments
Patch (17.82 KB, patch)
2021-10-08 07:36 PDT, Kimmo Kinnunen
no flags
Patch (17.85 KB, patch)
2021-10-08 07:37 PDT, Kimmo Kinnunen
no flags
Patch (16.94 KB, patch)
2021-10-08 07:41 PDT, Kimmo Kinnunen
no flags
Patch (16.94 KB, patch)
2021-10-08 07:43 PDT, Kimmo Kinnunen
no flags
Patch (17.11 KB, patch)
2021-10-11 05:28 PDT, Kimmo Kinnunen
no flags
Kimmo Kinnunen
Comment 1 2021-10-08 07:36:13 PDT
Kimmo Kinnunen
Comment 2 2021-10-08 07:37:38 PDT
Kimmo Kinnunen
Comment 3 2021-10-08 07:41:14 PDT
Kimmo Kinnunen
Comment 4 2021-10-08 07:43:39 PDT
Kimmo Kinnunen
Comment 5 2021-10-11 05:28:10 PDT
Tim Horton
Comment 6 2021-10-11 11:09:23 PDT
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)
Kimmo Kinnunen
Comment 7 2021-10-15 06:21:15 PDT
Comment on attachment 440777 [details] Patch probably not needed in this form
Radar WebKit Bug Importer
Comment 8 2021-10-15 07:27:15 PDT
Note You need to log in before you can comment on or make changes to this bug.