[webkit-changes] [WebKit/WebKit] 82b82f: [iOS] PiP-then-Fullscreen results in broken contro...

Jer Noble noreply at github.com
Thu Nov 17 16:47:18 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 82b82f5d1af64357162fe4aa2c0ed7954f440dcd
      https://github.com/WebKit/WebKit/commit/82b82f5d1af64357162fe4aa2c0ed7954f440dcd
  Author: Jer Noble <jer.noble at apple.com>
  Date:   2022-11-17 (Thu, 17 Nov 2022)

  Changed paths:
    M Source/WebCore/dom/FullscreenManager.cpp
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h

  Log Message:
  -----------
  [iOS] PiP-then-Fullscreen results in broken controls in fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=247991
rdar://100442052

Reviewed by Eric Carlson.

WebFullScreenManager's m_element ivar is never cleared, which means the next time a video plays
within a page, the WebFullScreenManager thinks its still in fullscreen, and the playing element
is marked as the PIPStandbyElement. This causes the element's own m_videoFullscreenStandby ivar
to be set to true, and when that element is taken into fullscreen, it's fullscreen controls are
explicitly hidden.

No test was included because TestWebKitAPI is not allowed to enter fullscreen or PiP as its not
a "real" application.

* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::supportsFullScreen):
(WebKit::eventsToObserve):
(WebKit::WebFullScreenManager::setElement):
(WebKit::WebFullScreenManager::clearElement):

Canonical link: https://commits.webkit.org/256812@main




More information about the webkit-changes mailing list