Bug 183663

Summary: REGRESSION(r229484): Plugins often require CGS Connections to draw
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: Plug-insAssignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, pvollan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 182747    
Bug Blocks: 183672    
Attachments:
Description Flags
Patch none

Brent Fulgham
Reported 2018-03-15 09:57:54 PDT
Flash content broke after r229484 because it needs an active CGSConnection to perform certain drawing operations. To maintain compatibility, we need to continue to allow the Plugin Process to communicate with the Window Server, which is unfortunate.
Attachments
Patch (3.36 KB, patch)
2018-03-15 10:04 PDT, Brent Fulgham
no flags
Brent Fulgham
Comment 1 2018-03-15 09:58:24 PDT
Brent Fulgham
Comment 2 2018-03-15 10:04:50 PDT
Per Arne Vollan
Comment 3 2018-03-15 10:11:51 PDT
Comment on attachment 335857 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=335857&action=review > Source/WebKit/Platform/mac/LayerHostingContext.mm:81 > + layerHostingContext->m_context = [CAContext contextWithCGSConnection:CGSMainConnectionID() options:@{ kCAContextCIFilterBehavior : @"ignore" }]; Will creating the context with 'layerHostingContext->m_context = [CAContext remoteContextWithOptions:@{kCAContextCIFilterBehavior : @"ignore"}];' work?
Brent Fulgham
Comment 4 2018-03-15 10:12:51 PDT
(In reply to Per Arne Vollan from comment #3) > Comment on attachment 335857 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=335857&action=review > > > Source/WebKit/Platform/mac/LayerHostingContext.mm:81 > > + layerHostingContext->m_context = [CAContext contextWithCGSConnection:CGSMainConnectionID() options:@{ kCAContextCIFilterBehavior : @"ignore" }]; > > Will creating the context with 'layerHostingContext->m_context = [CAContext > remoteContextWithOptions:@{kCAContextCIFilterBehavior : @"ignore"}];' work? No -- I tried that first and it failed.
Per Arne Vollan
Comment 5 2018-03-15 10:20:07 PDT
Comment on attachment 335857 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=335857&action=review R=me. >>> Source/WebKit/Platform/mac/LayerHostingContext.mm:81 >>> + layerHostingContext->m_context = [CAContext contextWithCGSConnection:CGSMainConnectionID() options:@{ kCAContextCIFilterBehavior : @"ignore" }]; >> >> Will creating the context with 'layerHostingContext->m_context = [CAContext remoteContextWithOptions:@{kCAContextCIFilterBehavior : @"ignore"}];' work? > > No -- I tried that first and it failed. Ah, right. I first thought it was the call '[CAContext setAllowsCGSConnections:NO];' that made this fail for the Plugin process.
WebKit Commit Bot
Comment 6 2018-03-15 11:30:24 PDT
Comment on attachment 335857 [details] Patch Clearing flags on attachment: 335857 Committed r229629: <https://trac.webkit.org/changeset/229629>
WebKit Commit Bot
Comment 7 2018-03-15 11:30:25 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.