Bug 198107
| Summary: | WKWebView takeSnapshotWithConfiguration does not take a snapshot of html5 video (youtube.com) and WebGL (i.e. hardware accelerated) | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Vladymyr <vladymyrvi> |
| Component: | WebKit API | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | bdakin, dino, eric.carlson, jer.noble, john, simon.fraser, thorton, vladymyrvi, webkit-bug-importer, wenson_hsieh |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 12 | ||
Vladymyr
When the snapshot of WKWebView (not fullscreen mode) is taken with takeSnapshotWithConfiguration on iOS 12.2 (iPhone XR) (and any other supported version) instead of html5 video content (hardware accelerated - any youtube.com video) and any WebGL content - there is a black portion of the screen, other content around is shown normally. I suspect the issues is related to the fact some html5 videos and WebGL content is hardware accelerated and rendered differently.
Exact WebKit version: AppleWebKit/605.1.15
Steps to reproduce:
Take a snapshot of WKWebView (not fullscreen mode) on iOS 12.2 (iPhone XR) with takeSnapshotWithConfiguration of any playing youtube.com video (e.g. https://www.youtube.com/watch?v=CF2BfWYRZoc ) or a page with WebGL content (e.g. https://threejs.org/examples/#webgl_marchingcubes )
Result:
Black part of the screen in the snapshot (image) instead of a content, other web-page content around is visible
Expected result:
As a user I can take a snapshot of hardware accelerated html5 videos and WebGL content, so they are present on the final snapshot image
Code sample:
WKSnapshotConfiguration *configuration = [WKSnapshotConfiguration new];
configuration.rect = CGRectMake(0, 0, boundsWidth, contentHeight);
configuration.snapshotWidth = @(boundsWidth);
//webView is WKWebView*
[webView takeSnapshotWithConfiguration: configuration completionHandler:
^(UIImage * _Nullable snapshotImage, NSError * _Nullable error)
{
//Here is the code to deal with the image
}];
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/51047322>
john
I’m guessing all current and future SwiftUI Browser based versions of WebKit are negatively impacted by this as of 06-08-2025 across all platforms across the board