Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9f0c7ac64f9afed660b778006cd576ca9715e259 https://github.com/WebKit/WebKit/commit/9f0c7ac64f9afed660b778006cd576ca9715e259 Author: Simon Fraser <simon.fra...@apple.com> Date: 2022-12-22 (Thu, 22 Dec 2022)
Changed paths: M Source/WebCore/page/Page.cpp M Source/WebCore/page/Page.h M Source/WebKit/WebProcess/WebPage/DrawingArea.cpp M Source/WebKit/WebProcess/WebPage/DrawingArea.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm M Source/WebKitLegacy/mac/WebView/WebView.mm M Source/WebKitLegacy/mac/WebView/WebViewData.h Log Message: ----------- Generalize willStartPlatformRenderingUpdate/didCompleteRenderingUpdateDisplay() and call for all configurations https://bugs.webkit.org/show_bug.cgi?id=249750 rdar://103614410 Reviewed by Tim Horton. Add functions to WebPage and Page that get called before and after the "commit layer tree and paint" part of a rendering update. In TiledCoreAnimationDrawingArea and WebKitLegacy which use Core Animation rendering, this time period equates to the start and end of the CA commit. In RemoteLayerTreeDrawingArea, it starts when we build the layer tree transaction, and ends when the buffer flushing is complete. Web inspector uses these hooks to build its "commit" timeline events. Previously, these events were broken on iOS because RemoteLayerTreeDrawingArea erroneously used CA commit handlers in an environment where there is no real CA commit (webkit.org/b/249736). And in WebKitLegacy, we'll now also correctly generate these events. Now there is only one call site for inspector composite hooks. * Source/WebCore/page/Page.cpp: (WebCore::Page::willStartRenderingUpdateDisplay): (WebCore::Page::didCompleteRenderingUpdateDisplay): (WebCore::Page::willStartPlatformRenderingUpdate): Deleted. (WebCore::Page::didCompletePlatformRenderingUpdate): Deleted. * Source/WebCore/page/Page.h: * Source/WebKit/WebProcess/WebPage/DrawingArea.cpp: (WebKit::DrawingArea::willStartRenderingUpdateDisplay): (WebKit::DrawingArea::didCompleteRenderingUpdateDisplay): * Source/WebKit/WebProcess/WebPage/DrawingArea.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: (WebKit::RemoteLayerTreeDrawingArea::updateRendering): (WebKit::RemoteLayerTreeDrawingArea::didCompleteRenderingUpdateDisplay): (WebKit::RemoteLayerTreeDrawingArea::addCommitHandlers): Deleted. * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willStartRenderingUpdateDisplay): (WebKit::WebPage::didCompleteRenderingUpdateDisplay): (WebKit::WebPage::willStartPlatformRenderingUpdate): Deleted. (WebKit::WebPage::didCompletePlatformRenderingUpdate): Deleted. * Source/WebKit/WebProcess/WebPage/WebPage.h: (WebKit::WebPage::firstFlushAfterCommit const): Deleted. (WebKit::WebPage::setFirstFlushAfterCommit): Deleted. * Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: * Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::sendPendingNewlyReachedPaintingMilestones): (WebKit::TiledCoreAnimationDrawingArea::didCompleteRenderingUpdateDisplay): (WebKit::TiledCoreAnimationDrawingArea::addCommitHandlers): * Source/WebKitLegacy/mac/WebView/WebView.mm: (-[WebView _willStartRenderingUpdateDisplay]): (-[WebView _didCompleteRenderingUpdateDisplay]): (LayerFlushController::flushLayers): * Source/WebKitLegacy/mac/WebView/WebViewData.h: (LayerFlushController::didCompleteRenderingUpdateDisplay): Canonical link: https://commits.webkit.org/258248@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes