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

Reply via email to