Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4bb40628005815ca00ec87a46f102053546abd3f https://github.com/WebKit/WebKit/commit/4bb40628005815ca00ec87a46f102053546abd3f Author: Dana Estra <des...@apple.com> Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/platform/mac/VideoPresentationInterfaceMac.h M Source/WebCore/platform/mac/VideoPresentationInterfaceMac.mm M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.messages.in M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.h M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm Log Message: ----------- When exiting from pip to in-window fullscreen, the video content becomes small https://bugs.webkit.org/show_bug.cgi?id=272108 rdar://123112852 Reviewed by Jer Noble. When exiting from pip to in-window mode, we now call exitVideoFullscreenForVideoElement instead of exitToFullscreenModeWithoutAnimationIfPossible because the lack of animation was likely causing ref counting issues. VideoPresentationManagerMac's mode is also now updated when we enter or exit in-window, so that when entering in-window, then pip, then exiting pip, the class will remember that the new mode should be in-window. Lastly, in didCleanupFullscreen, the new fullscreen mode should only be set to inline and removeclientForContext should only be called if we are exiting from pip to inline and not when we are exiting to in-window. When we call removeclientForContext, we lose the VideoPresentationManager, which is needed to correctly size the video content in fullscreen. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willBecomeFullscreenElement): * Source/WebCore/platform/mac/VideoPresentationInterfaceMac.h: * Source/WebCore/platform/mac/VideoPresentationInterfaceMac.mm: (WebCore::VideoPresentationInterfaceMac::setupFullscreen): (WebCore::VideoPresentationInterfaceMac::enterFullscreen): * Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h: * Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.messages.in: * Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm: (WebKit::VideoPresentationManagerProxy::setVideoFullscreenMode): (WebKit::VideoPresentationManagerProxy::clearVideoFullscreenMode): (WebKit::VideoPresentationManagerProxy::didCleanupFullscreen): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::setVideoFullscreenMode): (WebKit::WebChromeClient::clearVideoFullscreenMode): (WebKit::WebChromeClient::enterFullScreenForElement): (WebKit::WebChromeClient::exitFullScreenForElement): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: * Source/WebKit/WebProcess/cocoa/VideoPresentationManager.h: * Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm: (WebKit::VideoPresentationManager::setVideoFullscreenMode): (WebKit::VideoPresentationManager::clearVideoFullscreenMode): (WebKit::VideoPresentationManager::didCleanupFullscreen): Canonical link: https://commits.webkit.org/277142@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes