Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4bb40628005815ca00ec87a46f102053546abd3f
https://github.com/WebKit/WebKit/commit/4bb40628005815ca00ec87a46f102053546abd3f
Author: Dana Estra <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes