[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