Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f97ba929583c3b390deae821fee3f3b53364103a
https://github.com/WebKit/WebKit/commit/f97ba929583c3b390deae821fee3f3b53364103a
Author: Phinehas Fuachie <[email protected]>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M Source/WebKit/Modules/Internal/WebKitInternal.h
A Source/WebKit/Platform/spi/visionos/WKSurroundingsEffect.h
A Source/WebKit/Platform/spi/visionos/WKSurroundingsEffect.swift
A Source/WebKit/Platform/spi/visionos/WKSurroundingsEffectView.swift
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
Log Message:
-----------
Adopt ImmersiveSpace with preferredSurroundingsEffect for 'preferredDarkness'
and ImmersiveSpace for 'mrui_activeStage' due to deprecation
rdar://163514332
https://bugs.webkit.org/show_bug.cgi?id=304209
Reviewed by Richard Robinson.
Created WKFullScreenImmersiveSpaceManager to coordinate effect state between
Objective-C and
SwiftUI. Added WKSurroundingsEffectView that applies
preferredSurroundingsEffect on a SwiftUI view based on the
manager's current effect value. Added WKSurroundingsEffectWindow that bridges
the effect view into
the UIKit fullscreen window via UIHostingController.
No ImmersiveSpace required - preferredSurroundingsEffect works in shared space
for the
dark/semiDark effects WebKit needs.
Mark Swift-only stored properties as final in WKSeparatedImageView - Using
override in
@objc @implementation extensions triggers stricter validation of all such
extensions, requiring
Swift-only properties to be marked final.
* Source/WebKit/Modules/Internal/WebKitInternal.h:
* Source/WebKit/Platform/spi/visionos/WKSurroundingsEffect.h: Copied from
Source/WebKit/Modules/Internal/WebKitInternal.h.
* Source/WebKit/Platform/spi/visionos/WKSurroundingsEffect.swift: Added.
(WKSurroundingsEffectManagerWrapper.currentEffect):
(WKSurroundingsEffectManagerWrapper.surroundingsEffect):
(WKSurroundingsEffectManager.wrapper):
(WKSurroundingsEffectManager.shared):
(WKSurroundingsEffectManager.currentEffect):
(WKSurroundingsEffectWindow.effectHostingController):
(WKSurroundingsEffectWindow.setupSurroundingsEffectIfNeeded):
* Source/WebKit/Platform/spi/visionos/WKSurroundingsEffectView.swift: Added.
(WKSurroundingsEffectView.body):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenParentWindowState initWithWindow:]):
(-[WKFullScreenWindowController didEnterVideoFullscreen]):
(-[WKFullScreenWindowController didExitVideoFullscreen]):
(-[WKFullScreenWindowController
_enterFullScreen:windowScene:completionHandler:]):
(-[WKFullScreenWindowController
_performSpatialFullScreenTransition:completionHandler:]):
(-[WKFullScreenWindowController toggleSceneDimming]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/307258@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications