Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cfc548338e845e58f76d89f9af85bdd1b85ab657
      
https://github.com/WebKit/WebKit/commit/cfc548338e845e58f76d89f9af85bdd1b85ab657
  Author: Simon Fraser <[email protected]>
  Date:   2022-10-11 (Tue, 11 Oct 2022)

  Changed paths:
    M Source/WebCore/page/FrameView.cpp
    M Source/WebCore/page/FrameView.h
    M Source/WebCore/platform/ScrollView.cpp
    M Source/WebCore/platform/ScrollView.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/UIProcess/DrawingAreaProxy.cpp
    M Source/WebKit/UIProcess/DrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
    M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
    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/mac/TiledCoreAnimationDrawingArea.h
    M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm

  Log Message:
  -----------
  Turn 'delegates scrolling' into an enum
https://bugs.webkit.org/show_bug.cgi?id=246299
rdar://100995741

Reviewed by Tim Horton.

'delegatesScrolling' currently assumes that whatever is taking over scrolling 
provides scrollbars.
With UI-side compositing on macOS, we want to continue to have WebCore create 
scrollbars, so this
bool needs to be more fine-grained.

This change converts the bool into an enum class with three values: 
NotDelegated,
DelegatedToNativeScrollView, DelegatedToWebKit. Most code continues to work as 
before
by testing mode != NotDelegated, but we use DelegatedToWebKit to control 
whether scrollbars
are created.

Both DrawingArea, and DrawingAreaProxy have delegatedScrollingMode(), and 
RemoteLayerTreeDrawingArea*
override the default to return `DelegatedToNativeScrollView`. A future subclass 
will use
`DelegatedToWebKit`.

* Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::delegatedScrollingModeDidChange):
(WebCore::FrameView::delegatesScrollingDidChange): Deleted.
* Source/WebCore/page/FrameView.h:
* Source/WebCore/platform/ScrollView.cpp:
(WebCore::ScrollView::setDelegatedScrollingMode):
(WebCore::ScrollView::managesScrollbars const):
(WebCore::ScrollView::setDelegatesScrolling): Deleted.
* Source/WebCore/platform/ScrollView.h:
(WebCore::ScrollView::delegatedScrollingMode const):
(WebCore::ScrollView::delegatesScrolling const):
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresScrollLayer const):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::setDelegatesScrolling):
* Source/WebKit/UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::delegatedScrollingMode const):
* Source/WebKit/UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::usesDelegatedScrolling const): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::delegatedScrollingMode const):
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* Source/WebKit/WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::delegatedScrollingMode const):
* Source/WebKit/WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::supportsAsyncScrolling const):
(WebKit::DrawingArea::usesDelegatedScrolling const): Deleted.
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::delegatedScrollingMode const):
* Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to