[webkit-changes] [WebKit/WebKit] 66783d: Clean up WebKitLegacy's LayerFlushController/WebVi...
Simon Fraser
noreply at github.com
Thu Dec 22 22:35:48 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 66783d616f3d0e3fd47f2a05e5ae7387ba5f5732
https://github.com/WebKit/WebKit/commit/66783d616f3d0e3fd47f2a05e5ae7387ba5f5732
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2022-12-22 (Thu, 22 Dec 2022)
Changed paths:
M Source/WebKitLegacy/SourcesCocoa.txt
M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
M Source/WebKitLegacy/mac/WebView/WebView.mm
M Source/WebKitLegacy/mac/WebView/WebViewData.h
M Source/WebKitLegacy/mac/WebView/WebViewData.mm
M Source/WebKitLegacy/mac/WebView/WebViewInternal.h
A Source/WebKitLegacy/mac/WebView/WebViewRenderingUpdateScheduler.h
A Source/WebKitLegacy/mac/WebView/WebViewRenderingUpdateScheduler.mm
Log Message:
-----------
Clean up WebKitLegacy's LayerFlushController/WebViewLayerFlushScheduler
https://bugs.webkit.org/show_bug.cgi?id=249826
rdar://103653788
Reviewed by Tim Horton.
In WebKitLegacy, both LayerFlushController and WebViewLayerFlushScheduler existed, where
LayerFlushController owned a WebViewLayerFlushScheduler. These classes can be combined.
Confusingly, LayerFlushController was mostly implemented in WebViewData.mm, but LayerFlushController::flushLayers()
was in WebView.mm, making it hard to find.
So combine the classes into WebViewRenderingUpdateScheduler which lives in its own file. This class
does not need to be RefCounted. WebView methods that it calls are declared in WebViewInternal.h.
An iBooks-specific quirk is removed since Books no longer uses UIWebView.
* Source/WebKitLegacy/SourcesCocoa.txt:
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/mac/WebView/WebView.mm:
(-[WebView _close]):
(-[WebView close]):
(-[WebView _scheduleUpdateRendering]):
(-[WebView _updateRendering]):
(-[WebView _willStartRenderingUpdateDisplay]):
(-[WebView _didCompleteRenderingUpdateDisplay]):
(LayerFlushController::flushLayers): Deleted.
* Source/WebKitLegacy/mac/WebView/WebViewData.h:
(): Deleted.
(LayerFlushController::create): Deleted.
(LayerFlushController::didCompleteRenderingUpdateDisplay): Deleted.
* Source/WebKitLegacy/mac/WebView/WebViewData.mm:
(currentRunLoop): Deleted.
(LayerFlushController::scheduleLayerFlush): Deleted.
(LayerFlushController::invalidate): Deleted.
(LayerFlushController::LayerFlushController): Deleted.
(WebViewLayerFlushScheduler::WebViewLayerFlushScheduler): Deleted.
(WebViewLayerFlushScheduler::~WebViewLayerFlushScheduler): Deleted.
(WebViewLayerFlushScheduler::schedule): Deleted.
(WebViewLayerFlushScheduler::invalidate): Deleted.
(WebViewLayerFlushScheduler::layerFlushCallback): Deleted.
* Source/WebKitLegacy/mac/WebView/WebViewInternal.h:
* Source/WebKitLegacy/mac/WebView/WebViewRenderingUpdateScheduler.h: Added.
* Source/WebKitLegacy/mac/WebView/WebViewRenderingUpdateScheduler.mm: Added.
(currentRunLoop):
(WebViewRenderingUpdateScheduler::WebViewRenderingUpdateScheduler):
(WebViewRenderingUpdateScheduler::scheduleRenderingUpdate):
(WebViewRenderingUpdateScheduler::invalidate):
(WebViewRenderingUpdateScheduler::didCompleteRenderingUpdateDisplay):
(WebViewRenderingUpdateScheduler::registerCACommitHandlers):
(WebViewRenderingUpdateScheduler::renderingUpdateRunLoopObserverCallback):
(WebViewRenderingUpdateScheduler::updateRendering):
Canonical link: https://commits.webkit.org/258283@main
More information about the webkit-changes
mailing list