Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 56c04aa4f72aacc51e189a3b4d611ceab6922073
      
https://github.com/WebKit/WebKit/commit/56c04aa4f72aacc51e189a3b4d611ceab6922073
  Author: Wenson Hsieh <wenson_hs...@apple.com>
  Date:   2024-06-25 (Tue, 25 Jun 2024)

  Changed paths:
    M Source/WebKit/UIProcess/PageClient.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
    M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

  Log Message:
  -----------
  Refactor some logic to adjust the viewport in preparation for element 
fullscreen
https://bugs.webkit.org/show_bug.cgi?id=275830
rdar://130216576

Reviewed by Aditya Keerthi.

Refactor some logic to adjust the viewport in preparation for element 
fullscreen. See below for
more details.

* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::scheduleVisibleContentRectUpdate):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::setAllowsLayoutViewportHeightExpansion):

Add support for a new UI-side flag (updated via IPC from the web process) to 
determine whether or
not we should allow layout viewport height expansion. Currently, this is only 
influenced by
fullscreen presentation state, but this will need to change in a subsequent 
patch to be tracked
using an option set of reasons.

* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/WebPageProxyInternals.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::scheduleVisibleContentRectUpdate):

Add a page client hook to schedule a visible content rect update.

* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::computeLayoutViewportRect const):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::enterFullScreenForElement):
(WebKit::WebFullScreenManager::exitFullScreenForElement):

Add a couple of new hooks to call into `WebPage` when we're about to enter or 
exit fullscreen — note
that these calls are here instead of inside `willEnterFullScreen`, since the 
latter is too late.

(WebKit::WebFullScreenManager::close):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::closeFullScreen):
(WebKit::WebPage::prepareToEnterElementFullScreen):
(WebKit::WebPage::prepareToExitElementFullScreen):
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::setAllowsLayoutViewportHeightExpansion):

Update the UI process whenever this state changes.

* Source/WebKit/WebProcess/WebPage/WebPage.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to