-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebKit Media: Toggling fullscreen fails to work #16336
Conversation
EWS run on previous version of this PR (hash 1a28692) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm assuming no tests since we have existing tests running on a different configuration, but it would be good if you could try to find a test that was failing locally prior to this change.
PR description could also be a bit more detailed, you gave me a nice explanation elsewhere π |
EWS run on previous version of this PR (hash d4d8e84) |
Dismissing review, as thereβs a case this doesnβt fix: When someone tries to enter app fullscreen, but does not resize the web view. |
EWS run on previous version of this PR (hash ddd7386) |
EWS run on previous version of this PR (hash 583da40) |
EWS run on previous version of this PR (hash b7a2f38) |
EWS run on previous version of this PR (hash 5f466b4) |
EWS run on previous version of this PR (hash e504a18) |
EWS run on current version of this PR (hash f680e43) |
https://bugs.webkit.org/show_bug.cgi?id=259760 rdar://111534888 Reviewed by Aditya Keerthi. The window resize handler is created when receiving the `will{Enter|Exit}FullScreen` notification, and is then invalidated as a result of `setFrameSize` being called. However, when transiting to/from element full screen, `setFrameSize` is called before the notification is posted, instead of after. This causes the handler to never be invalidated. Fix by creating the handler directly inside `setFrameSize`, and not rely on the full screen notifications at all. This is ok since `_holdResizeSnapshotWithReason` only returns a non-nil block when entering or exiting full screen, so it has no effect in other cases. No new tests, since all tests in `FullscreenVideoTextRecognition` already test this behavior in some configurations. * Source/WebKit/UIProcess/API/mac/WKView.mm: (-[WKView _web_windowWillEnterFullScreen]): Deleted. (-[WKView _web_windowWillExitFullScreen]): Deleted. * Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm: (-[WKWebView _holdWindowResizeSnapshotWithReason:]): (-[WKWebView setFrameSize:]): (-[WKWebView _web_windowWillEnterFullScreen]): Deleted. (-[WKWebView _web_windowWillExitFullScreen]): Deleted. * Source/WebKit/UIProcess/mac/WebViewImpl.h: * Source/WebKit/UIProcess/mac/WebViewImpl.mm: (-[WKWindowVisibilityObserver startObserving:]): (-[WKWindowVisibilityObserver stopObserving:]): (-[WKWindowVisibilityObserver _windowWillEnterFullScreen:]): Deleted. (-[WKWindowVisibilityObserver _windowWillExitFullScreen:]): Deleted. (WebKit::WebViewImpl::windowWillEnterFullScreen): Deleted. (WebKit::WebViewImpl::windowWillExitFullScreen): Deleted. Canonical link: https://commits.webkit.org/266558@main
f680e43
to
43da1fd
Compare
Committed 266558@main (43da1fd): https://commits.webkit.org/266558@main Reviewed commits have been landed. Closing PR #16336 and removing active labels. |
43da1fd
f680e43
π§ͺ wpe-wk2π§ͺ ios-wk2-wptπ§ͺ gtk-wk2