[webkit-changes] [WebKit/WebKit] b0db30: [ui-Side compositing] Support custom scrollbars

Nikos Mouchtaris noreply at github.com
Tue Jan 24 17:20:18 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0db30ddd932ac3b92d3f3f814b7f9e22a7bf989
      https://github.com/WebKit/WebKit/commit/b0db30ddd932ac3b92d3f3f814b7f9e22a7bf989
  Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M Source/WebCore/page/FrameView.cpp
    M Source/WebCore/page/FrameView.h
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
    M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp
    M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h
    M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
    M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h
    M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
    M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
    M Source/WebCore/platform/ScrollTypes.cpp
    M Source/WebCore/platform/ScrollTypes.h
    M Source/WebCore/platform/ScrollableArea.h
    M Source/WebCore/platform/Scrollbar.cpp
    M Source/WebCore/platform/Scrollbar.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
    M Source/WebCore/rendering/RenderLayerScrollableArea.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp

  Log Message:
  -----------
  [ui-Side compositing] Support custom scrollbars
https://bugs.webkit.org/show_bug.cgi?id=250926
rdar://103890177

Reviewed by Simon Fraser.

Since custom scrollbars are currently handled correctly with UI-side compositing,
we just need to hide the native scrollbars. We do this by making ScrollbarHiddenByStyle
an enum which can now be hidden by custom scrollbars as well. When this gets plumbed to
the UIProcess side, check the ScrollableArea parameters to see if we want to hide the
native scrollbars or not.

* Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::horizontalScrollbarHidden const):
(WebCore::FrameView::verticalScrollbarHidden const):
(WebCore::FrameView::horizontalScrollbarHiddenByStyle const): Deleted.
(WebCore::FrameView::verticalScrollbarHiddenByStyle const): Deleted.
* Source/WebCore/page/FrameView.h:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry):
* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp:
(WebCore::operator<<):
* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h:
(WebCore::ScrollableAreaParameters::operator== const):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
(WebCore::ScrollingTreeScrollingNodeDelegate::updateScrollbarsFromStateNode):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateScrollbarsFromStateNode):
* Source/WebCore/platform/ScrollTypes.cpp:
(WebCore::operator<<):
* Source/WebCore/platform/ScrollTypes.h:
* Source/WebCore/platform/ScrollableArea.h:
(WebCore::ScrollableArea::horizontalScrollbarHidden const):
(WebCore::ScrollableArea::verticalScrollbarHidden const):
(WebCore::ScrollableArea::horizontalScrollbarHiddenByStyle const): Deleted.
(WebCore::ScrollableArea::verticalScrollbarHiddenByStyle const): Deleted.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::LegacyWebKitScrollingLayerCoordinator::updateScrollingLayer):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::horizontalScrollbarHidden const):
(WebCore::RenderLayerScrollableArea::verticalScrollbarHidden const):
(WebCore::RenderLayerScrollableArea::horizontalScrollbarHiddenByStyle const): Deleted.
(WebCore::RenderLayerScrollableArea::verticalScrollbarHiddenByStyle const): Deleted.
* Source/WebCore/rendering/RenderLayerScrollableArea.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::commitStateBeforeChildren):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::commitStateBeforeChildren):

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




More information about the webkit-changes mailing list