[webkit-changes] [WebKit/WebKit] 9f0c7a: Generalize willStartPlatformRenderingUpdate/didCom...
Simon Fraser
noreply at github.com
Thu Dec 22 09:56:57 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f0c7ac64f9afed660b778006cd576ca9715e259
https://github.com/WebKit/WebKit/commit/9f0c7ac64f9afed660b778006cd576ca9715e259
Author: Simon Fraser <simon.fraser at 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
More information about the webkit-changes
mailing list