Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d3327c9d179d467d23ec50a3c934923310e07779
https://github.com/WebKit/WebKit/commit/d3327c9d179d467d23ec50a3c934923310e07779
Author: Phinehas Fuachie <[email protected]>
Date: 2026-08-06 (Thu, 06 Aug 2026)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp
M Source/WebCore/Modules/mediacontrols/MediaControlsHost.h
M Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl
M Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js
M Source/WebCore/Modules/modern-media-controls/js-files
A
Source/WebCore/Modules/modern-media-controls/media/spatial-video-support.js
Log Message:
-----------
Spatial/projected video rendering in macOS and iOS media controls
(experimental)
https://bugs.webkit.org/show_bug.cgi?id=319971
rdar://182894970
Reviewed by Andy Estes.
Add an experimental renderer that displays projected/spatial (APMP) video —
360°/180°
equirectangular, fisheye, and parametric wide-FOV — on a WebGL mesh inside the
media controls,
letting the viewer drag to look around. Gated behind the SpatialVideoRendering
feature flag
(preview, off by default).
The renderer is a MediaControllerSupport subclass. It uses a WebGL2 context so
the non-power-of-two
video frame can be mipmapped (with anisotropic filtering) to avoid shimmer in
minified regions,
uploads frames via requestVideoFrameCallback so that work tracks the decoded
frame rate rather than
the display refresh, and feathers the content's outer edge so non-360
projections blend out instead
of ending on a hard boundary.
The projection kind and horizontal field of view are read from the parsed
ImmersiveVideoMetadata
via a MediaControlsHost accessor rather than the public VideoTrackConfiguration
JS API, so enabling
the feature does not expose the Track Configuration API to web content. An
x-webkit-spatial
attribute (360 | 180 | fisheye | wfov) remains as an explicit override for
content without
immersive metadata.
Canonical link: https://commits.webkit.org/318691@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications