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

Reply via email to