Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5001daca24e7c29db01073cc27011c9928abc781
      
https://github.com/WebKit/WebKit/commit/5001daca24e7c29db01073cc27011c9928abc781
  Author: Ruthvik Konda <[email protected]>
  Date:   2025-11-20 (Thu, 20 Nov 2025)

  Changed paths:
    M Source/WebCore/platform/ProcessQualified.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeCommitBundle.h
    A Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeCommitBundle.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
    M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h
    M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/PageClient.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
    M Source/WebKit/UIProcess/ios/WKContentView.h
    M Source/WebKit/UIProcess/ios/WKContentView.mm
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h
    M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.h
    M Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm

  Log Message:
  -----------
  Organize remaining RemoteLayerTreeTransaction members
https://bugs.webkit.org/show_bug.cgi?id=302267
rdar://164407141

Reviewed by Matt Woodrow.

Right now RemoteLayerTreeDrawingAreaProxy::commitLayerTree currently receives a 
Vector<std::pair<RemoteLayerTreeTransaction,
RemoteScrollingCoordinatorTransaction>>, one pair per root frame. However, some 
aspects of the transaction are
scoped to the root frame. Some are scoped to the page. And some are scoped to 
the main frame. We want to accordingly
introduce some separation/organization here to reduce duplication and remove 
unnecessary isMainFrameProcessTransaction() checks.

This PR builds on https://github.com/WebKit/WebKit/pull/52671 and 
https://github.com/WebKit/WebKit/pull/52839. In this PR, we move
the last relevant members from transaction scope to main frame, page, and 
bundle scope accordingly. WCP propagation
is adjusted to fit this. And where appropriate, processing on the UIProcess 
side is separated to ensure that mainframe specific
data is only processed once rather than per transaction.

We should only be using bundle.mainFrameData now as the sole source of truth 
for checking for main frame identity, so isMainFrameProcessTransaction()
is removed. Furthermore, since these members got migrated, some logging was 
removed from RemoteLayerTreeTransaction. We add it back
in RemoteLayerTreeCommitBundle.mm.

No new functionality is added. This is a simple refactoring. Existing test 
coverage is enough.
As a result, no new tests are added.

* Source/WebCore/platform/ProcessQualified.h:
(WebCore::ProcessQualified::lessThanSameProcess const):
(WebCore::ProcessQualified::lessThanOrEqualSameProcess const):
(WebCore::ProcessQualified::greaterThanSameProcess const):
(WebCore::ProcessQualified::greaterThanOrEqualSameProcess const):
(WebCore::ProcessQualified::lessThanSameProcess): Deleted.
(WebCore::ProcessQualified::lessThanOrEqualSameProcess): Deleted.
(WebCore::ProcessQualified::greaterThanSameProcess): Deleted.
(WebCore::ProcessQualified::greaterThanOrEqualSameProcess): Deleted.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeCommitBundle.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeCommitBundle.mm: Added.
(WebKit::PageData::description const):
(WebKit::MainFrameData::description const):
(WebKit::RemoteLayerTreeCommitBundle::description const):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::description const):
(WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction): Deleted.
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:mainFrameData:]):
(-[WKWebView _trackTransactionCommit:]):
(-[WKWebView _updateScrollViewForTransaction:]):
(-[WKWebView _restoreScrollAndZoomStateForTransaction:]):
(-[WKWebView _didCommitLayerTree:mainFrameData:pageData:transactionID:]):
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]): Deleted.
(-[WKWebView _didCommitLayerTree:mainFrameData:]): Deleted.
* Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h:
* Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::didCommitLayerTree):
(WebKit::PageClientImplCocoa::didCommitMainFrameData):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
(WebKit::WebPageProxy::didCommitMainFrameData):
* Source/WebKit/UIProcess/PageClient.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
(WebKit::RemoteLayerTreeDrawingAreaProxy::didCommitLayerTree):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTreeTransaction):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyMac::didCommitLayerTree):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLayerTree):
(WebKit::WebPageProxy::didCommitMainFrameData):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didCommitLayerTree):
(WebKit::PageClientImpl::didCommitMainFrameData):
* Source/WebKit/UIProcess/ios/WKContentView.h:
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLayerTree:mainFrameData:pageData:transactionID:]):
(-[WKContentView _didCommitLayerTree:mainFrameData:]): Deleted.
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::updateLayoutViewportParameters):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::willCommitLayerTree):
(WebKit::WebPage::willCommitMainFrameData):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
(WebKit::RemoteLayerTreeDrawingArea::willCommitMainFrameData):
(WebKit::RemoteLayerTreeDrawingArea::willCommitLayerTree): Deleted.
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updateRendering):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.h:
* Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaMac::willCommitMainFrameData):
(WebKit::RemoteLayerTreeDrawingAreaMac::willCommitLayerTree): Deleted.

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



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

Reply via email to