Bug 208567

Summary: WebChromeClient::createImageBuffer should not create a connection to GPU Process if page does not want remote rendering
Product: WebKit Reporter: youenn fablet <youennf>
Component: Layout and RenderingAssignee: youenn fablet <youennf>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, sabouhallawa, simon.fraser, thorton, webkit-bug-importer, wenson_hsieh, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description youenn fablet 2020-03-04 01:33:44 PST
WebChromeClient::createImageBuffer should not create a connection to GPU Process if page does not want remote rendering
Comment 1 youenn fablet 2020-03-04 01:47:26 PST
<rdar://problem/60020229>
Comment 2 youenn fablet 2020-03-04 01:49:19 PST
Created attachment 392394 [details]
Patch
Comment 3 WebKit Commit Bot 2020-03-04 08:32:05 PST
Comment on attachment 392394 [details]
Patch

Clearing flags on attachment: 392394

Committed r257845: <https://trac.webkit.org/changeset/257845>
Comment 4 WebKit Commit Bot 2020-03-04 08:32:06 PST
All reviewed patches have been landed.  Closing bug.
Comment 5 Said Abou-Hallawa 2020-03-04 08:41:09 PST
Comment on attachment 392394 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=392394&action=review

> Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:-910
> -    RenderingMode mode;
> -    if (m_page.shouldUseRemoteRenderingFor(purpose))
> -        mode = shouldAccelerate == ShouldAccelerate::Yes ? RenderingMode::RemoteAccelerated : RenderingMode::RemoteUnaccelerated;
> -    else if (shouldUseDisplayList == ShouldUseDisplayList::Yes)
> -        mode = shouldAccelerate == ShouldAccelerate::Yes ? RenderingMode::DisplayListAccelerated : RenderingMode::DisplayListUnaccelerated;
> -    else
> -        mode = shouldAccelerate == ShouldAccelerate::Yes ? RenderingMode::Accelerated : RenderingMode::Unaccelerated;
> -    return ensureRemoteRenderingBackend().createImageBuffer(size, mode, resolutionScale, colorSpace);

With this change, the argument 'shouldUseDisplayList' became unused. How does not the compiler catch this?
Comment 6 youenn fablet 2020-03-04 08:42:51 PST
> With this change, the argument 'shouldUseDisplayList' became unused. How
> does not the compiler catch this?

WebCore has that constraint, not WebKit.
It would be nice to be consistent.