Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 52379892b081a3a346c979641831dedddcf224c7
https://github.com/WebKit/WebKit/commit/52379892b081a3a346c979641831dedddcf224c7
Author: Phinehas Fuachie <[email protected]>
Date: 2025-08-14 (Thu, 14 Aug 2025)
Changed paths:
M Source/WebCore/platform/cocoa/PlaybackSessionModel.h
M Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm
M Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.h
M Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm
M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/WebKitSwift/LinearMediaKit/LinearMediaTypes.swift
M Source/WebKit/WebKitSwift/LinearMediaKit/WKSLinearMediaTypes.h
Log Message:
-----------
Fixed Auto-dimming effect in portal window of APMP playback from WebView's
Div Element Fullscreen
https://bugs.webkit.org/show_bug.cgi?id=296495
rdar://154223902
Reviewed by Andy Estes and Jean-Yves Avenard.
This patch creates a single place to store a user preference: whether videos
should automatically
dim the background when played in fullscreen. PlaybackSessionModel carries a
boolean
m_prefersAutoDimming, with accessors that notify its clients when the value
changes.
PlaybackSessionModelContext forwards the change to
VideoPresentationManagerProxy, allowing every
concurrent playback context to observe the current setting.
PlaybackSessionManagerProxy persists
the value to user defaults and relays it to the Web-process fullscreen manager
so the system knows
which darkness level to apply. VideoPresentationInterfaceLMK applies the flag
to the underlying
AVPlayerViewController, caches the previous stage darkness on entry and
restores it on exit.
WKFullScreenWindowControllerIOS consults the proxy when entering fullscreen,
reflects user changes
made regarding autoDimming back into the proxy.
* Source/WebCore/platform/cocoa/PlaybackSessionModel.h:
(WebCore::PlaybackSessionModel::prefersAutoDimming const):
(WebCore::PlaybackSessionModel::setPrefersAutoDimming):
* Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm:
(WebKit::VideoPresentationInterfaceLMK::presentFullscreen):
(WebKit::VideoPresentationInterfaceLMK::dismissFullscreen):
(WebKit::VideoPresentationInterfaceLMK::ensurePlayableViewController):
* Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionModelContext::PlaybackSessionModelContext):
(WebKit::PlaybackSessionModelContext::setPrefersAutoDimming):
(WebKit::PlaybackSessionManagerProxy::prefersAutoDimming const):
(WebKit::PlaybackSessionManagerProxy::setPrefersAutoDimming):
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationManagerProxy::didExitFullscreen):
(WebKit::VideoPresentationManagerProxy::didEnterFullscreen):
* Source/WebKit/UIProcess/PageClient.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
(WebKit::WebFullScreenManagerProxy::client):
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::didEnterFullscreen):
(WebKit::PageClientImpl::didExitFullscreen):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController initWithWebView:]):
(-[WKFullScreenWindowController didEnterVideoFullscreen]):
(-[WKFullScreenWindowController didExitVideoFullscreen]):
(-[WKFullScreenWindowController prefersSceneDimming]):
(-[WKFullScreenWindowController
_performSpatialFullScreenTransition:completionHandler:]):
(-[WKFullScreenWindowController toggleSceneDimming]):
* Source/WebKit/WebKitSwift/LinearMediaKit/LinearMediaTypes.swift:
(WKSPlayableViewControllerHost.prefersAutoDimming):
(WKSPlayableViewControllerHost.playable):
* Source/WebKit/WebKitSwift/LinearMediaKit/WKSLinearMediaTypes.h:
Canonical link: https://commits.webkit.org/298720@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes