[webkit-changes] [WebKit/WebKit] 2bce58: IOSurface size limit in the web content process is...
Simon Fraser
noreply at github.com
Sat Nov 5 11:51:40 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2bce581d4f1001372d65013669aacbab23958371
https://github.com/WebKit/WebKit/commit/2bce581d4f1001372d65013669aacbab23958371
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2022-11-05 (Sat, 05 Nov 2022)
Changed paths:
M Source/WebCore/platform/graphics/IntSize.h
M Source/WebCore/platform/graphics/cocoa/IOSurface.mm
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Log Message:
-----------
IOSurface size limit in the web content process is too small, only 1024x1024
https://bugs.webkit.org/show_bug.cgi?id=247036
rdar://101569224
Reviewed by Tim Horton.
Have Cocoa platforms always call IOSurfaceGetPropertyMaximum() in the UI process to send to the web
process, rather than only doing so when DOM rendering in the GPU process is enabled (always true on iOS).
This was conditionalized in the past due to an iOS launch time regression, but we ate that regression
when we enabled DOM rendering by default.
Remove the iOS #ifdef that simply hardcoded the max surface sizes and use the value from the UI process.
Only use the hardcoded values as fallback (this can happen if a WKWebView client inadvertently has a
sandbox that makes the IOSurface calls fail).
On iOS platforms, we clamp the maximum IOSurface size to 8K (see rdar://101936907).
* Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::fallbackMaxSurfaceDimension):
(WebCore::computeMaximumSurfaceSize):
(WebCore::maxSurfaceDimensionCA): Deleted.
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/256359@main
More information about the webkit-changes
mailing list