Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 66783d616f3d0e3fd47f2a05e5ae7387ba5f5732
      
https://github.com/WebKit/WebKit/commit/66783d616f3d0e3fd47f2a05e5ae7387ba5f5732
  Author: Simon Fraser <simon.fra...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to