[webkit-changes] [WebKit/WebKit] 63cdf5: Video is sometimes mispositioned in element fullsc...

aestes noreply at github.com
Wed Sep 4 10:11:47 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 63cdf52be469766f2c633447803aa4ea1645af1d
      https://github.com/WebKit/WebKit/commit/63cdf52be469766f2c633447803aa4ea1645af1d
  Author: Andy Estes <aestes at apple.com>
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
    M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm

  Log Message:
  -----------
  Video is sometimes mispositioned in element fullscreen window
https://bugs.webkit.org/show_bug.cgi?id=279102
rdar://135224530

Reviewed by Wenson Hsieh.

In webkit.org/b/278842 we found that the client may sometimes synchronously modify WKWebView's
_obscuredInsets when the web view is inserted in the element fullscreen window. 282915 at main
attempted to fix this but it was incomplete because, in addition to _obscuredInsets, the client may
also modify the scroll view's contentInset and contentOffset. The result is similar to the issue
seen in bug 278842: the video is mispositioned in the fullscreen window (and sometimes can be
scrolled).

This change follows up 282915 at main with a more complete fix. Instead of resetting just
_obscuredInsets and _unobscuredSafeAreaInsets after inserting the web view, we now just defer
resetting all WKWebView and WKScrollView properties until after -insertSubview:atIndex: is called.
Additionally, we reset all properties again right before changing fullscreenState to
WKFullscreenStateEnteringFullscreen since the client may modify properties while we wait for a
presentation update. At the point where fullscreenState changes to
WKFullscreenStateEnteringFullscreen we expect the client to avoid modifying WKWebView and
WKScrollView properties for the duration of the element fullscreen presentation.

* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController _enterFullScreen:windowScene:]):

Canonical link: https://commits.webkit.org/283160@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