[webkit-changes] [WebKit/WebKit] f5512c: [vision] Controls not always showing in spatial pl...

Jean-Yves Avenard noreply at github.com
Fri Oct 25 14:54:33 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f5512c37f54de84db9d0b46efcdcf4ba2b3051d1
      https://github.com/WebKit/WebKit/commit/f5512c37f54de84db9d0b46efcdcf4ba2b3051d1
  Author: Jean-Yves Avenard <jya at apple.com>
  Date:   2024-10-25 (Fri, 25 Oct 2024)

  Changed paths:
    M Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm
    M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
    M Source/WebKit/WebKitSwift/LinearMediaKit/LinearMediaPlayer.swift
    M Source/WebKit/WebKitSwift/LinearMediaKit/WKSLinearMediaPlayer.h

  Log Message:
  -----------
  [vision] Controls not always showing in spatial player
https://bugs.webkit.org/show_bug.cgi?id=282094
rdar://138595244

Reviewed by Andy Estes.

In 285658 at main, we fixed entering spatial portal from element fullscreen after selecting the "view in spatial" button.
But it was incomplete.

whenever we configure the docking menu, we also set two properties on the PlayableViewController. Unfortunately, those properties
break spatial and prevent the media controls from appearing. So we only want to have them set when entering video fullscreen from
the environment menu.
There's no proper way to distinguish in which fashion we entered video fullscreen, either from a call to HTML's enterFullScreen, via the
docking environment or through the dedicated spatial button.
We add a property on the LinearMediaPlayer :enteredFromInline which is set if we entered fullscreen from the environment menu.
Later, before configuring fullscreen, we check that property and it set we clear the two PlayableViewController properties.

Manually tested on a real device with the following steps.
1- element fullscreen
2 - spatial
3 - exit
4- [go back to step 2 a random number of times)
5- exit element fullscreen
6 - enter native fullscreen (spatial)
7 - exit
8- [go back to step 6 a random number of times)
9 - go into element fullscreen
10 - tap on environment button, select 1
11 - exit
12- go back to step 8 a random number of times.
13 - goto 1.

* Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm:
(WebKit::VideoPresentationInterfaceLMK::setupFullscreen):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController configureEnvironmentPickerOrFullscreenVideoButtonView]):
(-[WKFullScreenViewController _enterVideoFullscreenAction:]):
* Source/WebKit/WebKitSwift/LinearMediaKit/LinearMediaPlayer.swift:
(WKSLinearMediaPlayer.enteredFromInline):
* Source/WebKit/WebKitSwift/LinearMediaKit/WKSLinearMediaPlayer.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list