[webkit-changes] [WebKit/WebKit] d19192: [UI-side compositing] Eliminate unnecessary invali...

Nikos Mouchtaris noreply at github.com
Mon May 15 17:46:24 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d19192443a84fc6e6c00383118c8af3e16f78c8a
      https://github.com/WebKit/WebKit/commit/d19192443a84fc6e6c00383118c8af3e16f78c8a
  Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
  Date:   2023-05-15 (Mon, 15 May 2023)

  Changed paths:
    M Source/WebCore/platform/ScrollableArea.cpp
    M Source/WebCore/platform/ScrollbarsController.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm

  Log Message:
  -----------
  [UI-side compositing] Eliminate unnecessary invalidate of scrollbar layers when scrolling
https://bugs.webkit.org/show_bug.cgi?id=256624
rdar://109184266

Reviewed by Simon Fraser.

For UI-side compositing, we only paint into scrollbar layers in the WebProcess for
custom scrollbars. To reflect this, add RemoteScrollbarsController::shouldDrawIntoScrollbarLayer
and check before invalidating the scrollbar layers, to prevent unnecessary calls into
GraphicsLayerCA::platformCALayerPaintContents when we aren't actually going to paint anything.

* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollbar):
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::shouldDrawIntoScrollbarLayer const):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
(WebKit::RemoteScrollbarsController::shouldDrawIntoScrollbarLayer const):

Canonical link: https://commits.webkit.org/264094@main




More information about the webkit-changes mailing list