Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f0c7ac64f9afed660b778006cd576ca9715e259
https://github.com/WebKit/WebKit/commit/9f0c7ac64f9afed660b778006cd576ca9715e259
Author: Simon Fraser <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes