Title: [285357] trunk/Source
Revision
285357
Author
nmouchta...@apple.com
Date
2021-11-05 16:06:50 -0700 (Fri, 05 Nov 2021)

Log Message

Make scroll bar mode an enum class
https://bugs.webkit.org/show_bug.cgi?id=232651

Reviewed by Simon Fraser.

Source/WebCore:

* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::scrollingMode const):
* html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::scrollingMode const):
* page/Frame.cpp:
(WebCore::Frame::createView):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::resetScrollbars):
(WebCore::FrameView::init):
(WebCore::FrameView::updateCanHaveScrollbars):
(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::adjustScrollbarsForLayout):
(WebCore::FrameView::performFixedWidthAutoSize):
(WebCore::FrameView::performSizeToContentAutoSize):
(WebCore::FrameView::isScrollable):
(WebCore::FrameView::enableAutoSizeMode):
* page/SpatialNavigation.cpp:
(WebCore::canScrollInDirection):
* page/scrolling/ScrollingCoordinatorTypes.h:
* page/scrolling/ScrollingTreeScrollingNode.h:
* platform/ScrollTypes.cpp:
(WebCore::operator<<):
* platform/ScrollTypes.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setCanHaveScrollbars):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::platformScrollbarModes const):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::horizontalScrollbarMode const):
(WebCore::ScrollableArea::verticalScrollbarMode const):
(WebCore::ScrollableArea::canHaveScrollbars const):
* platform/ios/wak/WAKScrollView.mm:
(-[WAKScrollView horizontalScrollingMode]):
(-[WAKScrollView verticalScrollingMode]):
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::performLayoutWithFlattening):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::flattenFrame const):
* rendering/RenderLayer.cpp:
(WebCore::frameElementAndViewPermitScroll):
* rendering/RenderLayerBacking.cpp:
(WebCore::computePageTiledBackingCoverage):

Source/WebKit:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setAlwaysShowsHorizontalScroller):
(WebKit::WebPage::setAlwaysShowsVerticalScroller):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
(-[WebDynamicScrollBarsView updateScrollers]):
(-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
(-[WebDynamicScrollBarsView allowsVerticalScrolling]):
* WebView/WebView.mm:
(-[WebView setAlwaysShowVerticalScroller:]):
(-[WebView alwaysShowVerticalScroller]):
(-[WebView setAlwaysShowHorizontalScroller:]):
(-[WebView alwaysShowHorizontalScroller]):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (285356 => 285357)


--- trunk/Source/WebCore/ChangeLog	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/ChangeLog	2021-11-05 23:06:50 UTC (rev 285357)
@@ -1,3 +1,56 @@
+2021-11-05  Nikolaos Mouchtaris  <nmouchta...@apple.com>
+
+        Make scroll bar mode an enum class
+        https://bugs.webkit.org/show_bug.cgi?id=232651
+
+        Reviewed by Simon Fraser.
+
+        * html/HTMLFrameElementBase.cpp:
+        (WebCore::HTMLFrameElementBase::scrollingMode const):
+        * html/HTMLFrameOwnerElement.h:
+        (WebCore::HTMLFrameOwnerElement::scrollingMode const):
+        * page/Frame.cpp:
+        (WebCore::Frame::createView):
+        * page/Frame.h:
+        * page/FrameView.cpp:
+        (WebCore::FrameView::resetScrollbars):
+        (WebCore::FrameView::init):
+        (WebCore::FrameView::updateCanHaveScrollbars):
+        (WebCore::FrameView::applyOverflowToViewport):
+        (WebCore::FrameView::calculateScrollbarModesForLayout):
+        (WebCore::FrameView::adjustScrollbarsForLayout):
+        (WebCore::FrameView::performFixedWidthAutoSize):
+        (WebCore::FrameView::performSizeToContentAutoSize):
+        (WebCore::FrameView::isScrollable):
+        (WebCore::FrameView::enableAutoSizeMode):
+        * page/SpatialNavigation.cpp:
+        (WebCore::canScrollInDirection):
+        * page/scrolling/ScrollingCoordinatorTypes.h:
+        * page/scrolling/ScrollingTreeScrollingNode.h:
+        * platform/ScrollTypes.cpp:
+        (WebCore::operator<<):
+        * platform/ScrollTypes.h:
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::setCanHaveScrollbars):
+        (WebCore::ScrollView::updateScrollbars):
+        (WebCore::ScrollView::platformScrollbarModes const):
+        * platform/ScrollView.h:
+        * platform/ScrollableArea.h:
+        (WebCore::ScrollableArea::horizontalScrollbarMode const):
+        (WebCore::ScrollableArea::verticalScrollbarMode const):
+        (WebCore::ScrollableArea::canHaveScrollbars const):
+        * platform/ios/wak/WAKScrollView.mm:
+        (-[WAKScrollView horizontalScrollingMode]):
+        (-[WAKScrollView verticalScrollingMode]):
+        * rendering/RenderFrameBase.cpp:
+        (WebCore::RenderFrameBase::performLayoutWithFlattening):
+        * rendering/RenderIFrame.cpp:
+        (WebCore::RenderIFrame::flattenFrame const):
+        * rendering/RenderLayer.cpp:
+        (WebCore::frameElementAndViewPermitScroll):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::computePageTiledBackingCoverage):
+
 2021-11-05  Alex Christensen  <achristen...@webkit.org>
 
         Restructure WKContentRuleList Action storage during compilation and interpretation

Modified: trunk/Source/WebCore/html/HTMLFrameElementBase.cpp (285356 => 285357)


--- trunk/Source/WebCore/html/HTMLFrameElementBase.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/html/HTMLFrameElementBase.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -231,7 +231,7 @@
     return equalLettersIgnoringASCIICase(scrollingAttribute, "no")
         || equalLettersIgnoringASCIICase(scrollingAttribute, "noscroll")
         || equalLettersIgnoringASCIICase(scrollingAttribute, "off")
-        ? ScrollbarAlwaysOff : ScrollbarAuto;
+        ? ScrollbarMode::AlwaysOff : ScrollbarMode::Auto;
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/html/HTMLFrameOwnerElement.h (285356 => 285357)


--- trunk/Source/WebCore/html/HTMLFrameOwnerElement.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/html/HTMLFrameOwnerElement.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -51,7 +51,7 @@
 
     ExceptionOr<Document&> getSVGDocument() const;
 
-    virtual ScrollbarMode scrollingMode() const { return ScrollbarAuto; }
+    virtual ScrollbarMode scrollingMode() const { return ScrollbarMode::Auto; }
 
     SandboxFlags sandboxFlags() const { return m_sandboxFlags; }
 

Modified: trunk/Source/WebCore/page/Frame.cpp (285356 => 285357)


--- trunk/Source/WebCore/page/Frame.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/page/Frame.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -918,7 +918,7 @@
         ownerRenderer()->setWidget(frameView);
 
     if (HTMLFrameOwnerElement* owner = ownerElement())
-        view()->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarAlwaysOff);
+        view()->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarMode::AlwaysOff);
 }
 
 DOMWindow* Frame::window() const

Modified: trunk/Source/WebCore/page/Frame.h (285356 => 285357)


--- trunk/Source/WebCore/page/Frame.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/page/Frame.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -128,8 +128,8 @@
     WEBCORE_EXPORT void setView(RefPtr<FrameView>&&);
     WEBCORE_EXPORT void createView(const IntSize&, const std::optional<Color>& backgroundColor,
         const IntSize& fixedLayoutSize, const IntRect& fixedVisibleContentRect,
-        bool useFixedLayout = false, ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
-        ScrollbarMode = ScrollbarAuto, bool verticalLock = false);
+        bool useFixedLayout = false, ScrollbarMode = ScrollbarMode::Auto, bool horizontalLock = false,
+        ScrollbarMode = ScrollbarMode::Auto, bool verticalLock = false);
 
     WEBCORE_EXPORT ~Frame();
 

Modified: trunk/Source/WebCore/page/FrameView.cpp (285356 => 285357)


--- trunk/Source/WebCore/page/FrameView.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/page/FrameView.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -297,9 +297,9 @@
     // Reset the document's scrollbars back to our defaults before we yield the floor.
     setScrollbarsSuppressed(true);
     if (m_canHaveScrollbars)
-        setScrollbarModes(ScrollbarAuto, ScrollbarAuto);
+        setScrollbarModes(ScrollbarMode::Auto, ScrollbarMode::Auto);
     else
-        setScrollbarModes(ScrollbarAlwaysOff, ScrollbarAlwaysOff);
+        setScrollbarModes(ScrollbarMode::AlwaysOff, ScrollbarMode::AlwaysOff);
     setScrollbarsSuppressed(false);
 }
 
@@ -322,7 +322,7 @@
 
     // Propagate the scrolling mode to the view.
     auto* ownerElement = frame().ownerElement();
-    if (is<HTMLFrameElementBase>(ownerElement) && downcast<HTMLFrameElementBase>(*ownerElement).scrollingMode() == ScrollbarAlwaysOff)
+    if (is<HTMLFrameElementBase>(ownerElement) && downcast<HTMLFrameElementBase>(*ownerElement).scrollingMode() == ScrollbarMode::AlwaysOff)
         setCanHaveScrollbars(false);
 
     Page* page = frame().page();
@@ -521,7 +521,7 @@
     ScrollbarMode hMode;
     ScrollbarMode vMode;
     scrollbarModes(hMode, vMode);
-    if (hMode == ScrollbarAlwaysOff && vMode == ScrollbarAlwaysOff)
+    if (hMode == ScrollbarMode::AlwaysOff && vMode == ScrollbarMode::AlwaysOff)
         setCanHaveScrollbars(false);
     else
         setCanHaveScrollbars(true);
@@ -659,15 +659,15 @@
     case Overflow::Hidden:
     case Overflow::Clip:
         if (overrideHidden)
-            hMode = ScrollbarAuto;
+            hMode = ScrollbarMode::Auto;
         else
-            hMode = ScrollbarAlwaysOff;
+            hMode = ScrollbarMode::AlwaysOff;
         break;
     case Overflow::Scroll:
-        hMode = ScrollbarAlwaysOn;
+        hMode = ScrollbarMode::AlwaysOn;
         break;
     case Overflow::Auto:
-        hMode = ScrollbarAuto;
+        hMode = ScrollbarMode::Auto;
         break;
     default:
         // Don't set it at all.
@@ -678,15 +678,15 @@
     case Overflow::Hidden:
     case Overflow::Clip:
         if (overrideHidden)
-            vMode = ScrollbarAuto;
+            vMode = ScrollbarMode::Auto;
         else
-            vMode = ScrollbarAlwaysOff;
+            vMode = ScrollbarMode::AlwaysOff;
         break;
     case Overflow::Scroll:
-        vMode = ScrollbarAlwaysOn;
+        vMode = ScrollbarMode::AlwaysOn;
         break;
     case Overflow::Auto:
-        vMode = ScrollbarAuto;
+        vMode = ScrollbarMode::Auto;
         break;
     default:
         // Don't set it at all. Values of Overflow::PagedX and Overflow::PagedY are handled by applyPaginationToViewPort().
@@ -731,18 +731,18 @@
     m_viewportRendererType = ViewportRendererType::None;
 
     const HTMLFrameOwnerElement* owner = frame().ownerElement();
-    if (owner && (owner->scrollingMode() == ScrollbarAlwaysOff)) {
-        hMode = ScrollbarAlwaysOff;
-        vMode = ScrollbarAlwaysOff;
+    if (owner && (owner->scrollingMode() == ScrollbarMode::AlwaysOff)) {
+        hMode = ScrollbarMode::AlwaysOff;
+        vMode = ScrollbarMode::AlwaysOff;
         return;
     }  
     
     if (m_canHaveScrollbars || strategy == RulesFromWebContentOnly) {
-        hMode = ScrollbarAuto;
-        vMode = ScrollbarAuto;
+        hMode = ScrollbarMode::Auto;
+        vMode = ScrollbarMode::Auto;
     } else {
-        hMode = ScrollbarAlwaysOff;
-        vMode = ScrollbarAlwaysOff;
+        hMode = ScrollbarMode::AlwaysOff;
+        vMode = ScrollbarMode::AlwaysOff;
     }
     
     if (layoutContext().subtreeLayoutRoot())
@@ -767,8 +767,8 @@
     }
     
     if (is<HTMLFrameSetElement>(*bodyOrFrameset) && !frameFlatteningEnabled()) {
-        vMode = ScrollbarAlwaysOff;
-        hMode = ScrollbarAlwaysOff;
+        vMode = ScrollbarMode::AlwaysOff;
+        hMode = ScrollbarMode::AlwaysOff;
         return;
     }
 
@@ -1254,11 +1254,11 @@
     if (isFirstLayout && !layoutContext().isLayoutNested()) {
         setScrollbarsSuppressed(true);
         // Set the initial vMode to AlwaysOn if we're auto.
-        if (vMode == ScrollbarAuto)
-            setVerticalScrollbarMode(ScrollbarAlwaysOn); // This causes a vertical scrollbar to appear.
+        if (vMode == ScrollbarMode::Auto)
+            setVerticalScrollbarMode(ScrollbarMode::AlwaysOn); // This causes a vertical scrollbar to appear.
         // Set the initial hMode to AlwaysOff if we're auto.
-        if (hMode == ScrollbarAuto)
-            setHorizontalScrollbarMode(ScrollbarAlwaysOff); // This causes a horizontal scrollbar to disappear.
+        if (hMode == ScrollbarMode::Auto)
+            setHorizontalScrollbarMode(ScrollbarMode::AlwaysOff); // This causes a horizontal scrollbar to disappear.
         ASSERT(frame().page());
         if (frame().page()->isMonitoringWheelEvents())
             scrollAnimator().setWheelEventTestMonitor(frame().page()->wheelEventTestMonitor());
@@ -3521,8 +3521,8 @@
     auto* renderView = document->renderView();
     auto* firstChild = renderView->firstChild();
 
-    ScrollbarMode horizonalScrollbarMode = ScrollbarAlwaysOff;
-    ScrollbarMode verticalScrollbarMode = ScrollbarAlwaysOff;
+    auto horizonalScrollbarMode = ScrollbarMode::AlwaysOff;
+    auto verticalScrollbarMode = ScrollbarMode::AlwaysOff;
     setVerticalScrollbarLock(false);
     setHorizontalScrollbarLock(false);
     setScrollbarModes(horizonalScrollbarMode, verticalScrollbarMode, true, true);
@@ -3605,15 +3605,15 @@
         newSize = newSize.expandedTo(minAutoSize);
 
         // Bound the dimensions by the max bounds and determine what scrollbars to show.
-        ScrollbarMode horizonalScrollbarMode = ScrollbarAlwaysOff;
+        ScrollbarMode horizonalScrollbarMode = ScrollbarMode::AlwaysOff;
         if (newSize.width() > m_autoSizeConstraint.width()) {
             newSize.setWidth(m_autoSizeConstraint.width());
-            horizonalScrollbarMode = ScrollbarAlwaysOn;
+            horizonalScrollbarMode = ScrollbarMode::AlwaysOn;
         }
-        ScrollbarMode verticalScrollbarMode = ScrollbarAlwaysOff;
+        ScrollbarMode verticalScrollbarMode = ScrollbarMode::AlwaysOff;
         if (newSize.height() > m_autoSizeConstraint.height()) {
             newSize.setHeight(m_autoSizeConstraint.height());
-            verticalScrollbarMode = ScrollbarAlwaysOn;
+            verticalScrollbarMode = ScrollbarMode::AlwaysOn;
         }
 
         if (newSize == size)
@@ -3950,7 +3950,7 @@
     ScrollbarMode horizontalMode;
     ScrollbarMode verticalMode;
     calculateScrollbarModesForLayout(horizontalMode, verticalMode, RulesFromWebContentOnly);
-    if (horizontalMode == ScrollbarAlwaysOff && verticalMode == ScrollbarAlwaysOff)
+    if (horizontalMode == ScrollbarMode::AlwaysOff && verticalMode == ScrollbarMode::AlwaysOff)
         return false;
 
     return true;
@@ -4722,7 +4722,7 @@
     // Since autosize mode forces the scrollbar mode, change them to being auto.
     setVerticalScrollbarLock(false);
     setHorizontalScrollbarLock(false);
-    setScrollbarModes(ScrollbarAuto, ScrollbarAuto);
+    setScrollbarModes(ScrollbarMode::Auto, ScrollbarMode::Auto);
 }
 
 void FrameView::forceLayout(bool allowSubtreeLayout)

Modified: trunk/Source/WebCore/page/SpatialNavigation.cpp (285356 => 285357)


--- trunk/Source/WebCore/page/SpatialNavigation.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/page/SpatialNavigation.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -476,9 +476,9 @@
     ScrollbarMode verticalMode;
     ScrollbarMode horizontalMode;
     frame->view()->calculateScrollbarModesForLayout(horizontalMode, verticalMode);
-    if ((direction == FocusDirection::Left || direction == FocusDirection::Right) && ScrollbarAlwaysOff == horizontalMode)
+    if ((direction == FocusDirection::Left || direction == FocusDirection::Right) && ScrollbarMode::AlwaysOff == horizontalMode)
         return false;
-    if ((direction == FocusDirection::Up || direction == FocusDirection::Down) &&  ScrollbarAlwaysOff == verticalMode)
+    if ((direction == FocusDirection::Up || direction == FocusDirection::Down) &&  ScrollbarMode::AlwaysOff == verticalMode)
         return false;
     LayoutSize size = frame->view()->totalContentsSize();
     LayoutPoint scrollPosition = frame->view()->scrollPosition();

Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h (285356 => 285357)


--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -74,8 +74,8 @@
     ScrollElasticity horizontalScrollElasticity { ScrollElasticity::None };
     ScrollElasticity verticalScrollElasticity { ScrollElasticity::None };
 
-    ScrollbarMode horizontalScrollbarMode { ScrollbarAuto };
-    ScrollbarMode verticalScrollbarMode { ScrollbarAuto };
+    ScrollbarMode horizontalScrollbarMode { ScrollbarMode::Auto };
+    ScrollbarMode verticalScrollbarMode { ScrollbarMode::Auto };
 
     bool allowsHorizontalScrolling { false };
     bool allowsVerticalScrolling { false };

Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h (285356 => 285357)


--- trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -96,9 +96,9 @@
 
     bool horizontalScrollbarHiddenByStyle() const { return m_scrollableAreaParameters.horizontalScrollbarHiddenByStyle; }
     bool verticalScrollbarHiddenByStyle() const { return m_scrollableAreaParameters.verticalScrollbarHiddenByStyle; }
-    bool canHaveHorizontalScrollbar() const { return m_scrollableAreaParameters.horizontalScrollbarMode != ScrollbarAlwaysOff; }
-    bool canHaveVerticalScrollbar() const { return m_scrollableAreaParameters.verticalScrollbarMode != ScrollbarAlwaysOff; }
-    bool canHaveScrollbars() const { return m_scrollableAreaParameters.horizontalScrollbarMode != ScrollbarAlwaysOff || m_scrollableAreaParameters.verticalScrollbarMode != ScrollbarAlwaysOff; }
+    bool canHaveHorizontalScrollbar() const { return m_scrollableAreaParameters.horizontalScrollbarMode != ScrollbarMode::AlwaysOff; }
+    bool canHaveVerticalScrollbar() const { return m_scrollableAreaParameters.verticalScrollbarMode != ScrollbarMode::AlwaysOff; }
+    bool canHaveScrollbars() const { return m_scrollableAreaParameters.horizontalScrollbarMode != ScrollbarMode::AlwaysOff || m_scrollableAreaParameters.verticalScrollbarMode != ScrollbarMode::AlwaysOff; }
 
     const FloatScrollSnapOffsetsInfo& snapOffsetsInfo() const;
     std::optional<unsigned> currentHorizontalSnapPointIndex() const;

Modified: trunk/Source/WebCore/platform/ScrollTypes.cpp (285356 => 285357)


--- trunk/Source/WebCore/platform/ScrollTypes.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/platform/ScrollTypes.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -78,4 +78,20 @@
     return ts;
 }
 
+TextStream& operator<<(TextStream& ts, ScrollbarMode behavior)
+{
+    switch (behavior) {
+    case ScrollbarMode::Auto:
+        ts << 0;
+        break;
+    case ScrollbarMode::AlwaysOff:
+        ts << 1;
+        break;
+    case ScrollbarMode::AlwaysOn:
+        ts << 2;
+        break;
+    }
+    return ts;
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/platform/ScrollTypes.h (285356 => 285357)


--- trunk/Source/WebCore/platform/ScrollTypes.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/platform/ScrollTypes.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -148,10 +148,10 @@
     Vertical
 };
 
-enum ScrollbarMode : uint8_t {
-    ScrollbarAuto,
-    ScrollbarAlwaysOff,
-    ScrollbarAlwaysOn
+enum class ScrollbarMode : uint8_t {
+    Auto,
+    AlwaysOff,
+    AlwaysOn
 };
 
 enum class ScrollbarControlSize : uint8_t {
@@ -261,6 +261,7 @@
 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, ScrollClamping);
 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, ScrollBehaviorForFixedElements);
 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, ScrollElasticity);
+WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, ScrollbarMode);
 
 struct ScrollPositionChangeOptions {
     ScrollType type;
@@ -304,9 +305,9 @@
 template<> struct EnumTraits<WebCore::ScrollbarMode> {
     using values = EnumValues<
         WebCore::ScrollbarMode,
-        WebCore::ScrollbarMode::ScrollbarAuto,
-        WebCore::ScrollbarMode::ScrollbarAlwaysOff,
-        WebCore::ScrollbarMode::ScrollbarAlwaysOn
+        WebCore::ScrollbarMode::Auto,
+        WebCore::ScrollbarMode::AlwaysOff,
+        WebCore::ScrollbarMode::AlwaysOn
     >;
 };
 

Modified: trunk/Source/WebCore/platform/ScrollView.cpp (285356 => 285357)


--- trunk/Source/WebCore/platform/ScrollView.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/platform/ScrollView.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -154,15 +154,15 @@
     
     scrollbarModes(newHorizontalMode, newVerticalMode);
     
-    if (canScroll && newVerticalMode == ScrollbarAlwaysOff)
-        newVerticalMode = ScrollbarAuto;
+    if (canScroll && newVerticalMode == ScrollbarMode::AlwaysOff)
+        newVerticalMode = ScrollbarMode::Auto;
     else if (!canScroll)
-        newVerticalMode = ScrollbarAlwaysOff;
+        newVerticalMode = ScrollbarMode::AlwaysOff;
     
-    if (canScroll && newHorizontalMode == ScrollbarAlwaysOff)
-        newHorizontalMode = ScrollbarAuto;
+    if (canScroll && newHorizontalMode == ScrollbarMode::AlwaysOff)
+        newHorizontalMode = ScrollbarMode::Auto;
     else if (!canScroll)
-        newHorizontalMode = ScrollbarAlwaysOff;
+        newHorizontalMode = ScrollbarMode::AlwaysOff;
     
     setScrollbarModes(newHorizontalMode, newVerticalMode);
 }
@@ -634,14 +634,14 @@
     ScrollbarMode hScroll = m_horizontalScrollbarMode;
     ScrollbarMode vScroll = m_verticalScrollbarMode;
 
-    if (hScroll != ScrollbarAuto)
-        newHasHorizontalScrollbar = (hScroll == ScrollbarAlwaysOn);
-    if (vScroll != ScrollbarAuto)
-        newHasVerticalScrollbar = (vScroll == ScrollbarAlwaysOn);
+    if (hScroll != ScrollbarMode::Auto)
+        newHasHorizontalScrollbar = (hScroll == ScrollbarMode::AlwaysOn);
+    if (vScroll != ScrollbarMode::Auto)
+        newHasVerticalScrollbar = (vScroll == ScrollbarMode::AlwaysOn);
 
     bool scrollbarAddedOrRemoved = false;
 
-    if (m_scrollbarsSuppressed || (hScroll != ScrollbarAuto && vScroll != ScrollbarAuto)) {
+    if (m_scrollbarsSuppressed || (hScroll != ScrollbarMode::Auto && vScroll != ScrollbarMode::Auto)) {
         if (hasHorizontalScrollbar != newHasHorizontalScrollbar && (hasHorizontalScrollbar || !avoidScrollbarCreation())) {
             if (setHasHorizontalScrollbar(newHasHorizontalScrollbar))
                 scrollbarAddedOrRemoved = true;
@@ -657,9 +657,9 @@
         IntSize docSize = totalContentsSize();
         IntSize fullVisibleSize = unobscuredContentRectIncludingScrollbars().size();
 
-        if (hScroll == ScrollbarAuto)
+        if (hScroll == ScrollbarMode::Auto)
             newHasHorizontalScrollbar = docSize.width() > visibleWidth();
-        if (vScroll == ScrollbarAuto)
+        if (vScroll == ScrollbarMode::Auto)
             newHasVerticalScrollbar = docSize.height() > visibleHeight();
 
         bool needAnotherPass = false;
@@ -667,16 +667,16 @@
             // If we ever turn one scrollbar off, do not turn the other one on. Never ever
             // try to both gain/lose a scrollbar in the same pass.
             if (!m_updateScrollbarsPass && docSize.width() <= fullVisibleSize.width() && docSize.height() <= fullVisibleSize.height()) {
-                if (hScroll == ScrollbarAuto)
+                if (hScroll == ScrollbarMode::Auto)
                     newHasHorizontalScrollbar = false;
-                if (vScroll == ScrollbarAuto)
+                if (vScroll == ScrollbarMode::Auto)
                     newHasVerticalScrollbar = false;
             }
-            if (!newHasHorizontalScrollbar && hasHorizontalScrollbar && vScroll != ScrollbarAlwaysOn && !hasVerticalScrollbar) {
+            if (!newHasHorizontalScrollbar && hasHorizontalScrollbar && vScroll != ScrollbarMode::AlwaysOn && !hasVerticalScrollbar) {
                 newHasVerticalScrollbar = false;
                 needAnotherPass = true;
             }
-            if (!newHasVerticalScrollbar && hasVerticalScrollbar && hScroll != ScrollbarAlwaysOn && !hasHorizontalScrollbar) {
+            if (!newHasVerticalScrollbar && hasVerticalScrollbar && hScroll != ScrollbarMode::AlwaysOn && !hasHorizontalScrollbar) {
                 newHasHorizontalScrollbar = false;
                 needAnotherPass = true;
             }
@@ -1619,8 +1619,8 @@
 
 void ScrollView::platformScrollbarModes(ScrollbarMode& horizontal, ScrollbarMode& vertical) const
 {
-    horizontal = ScrollbarAuto;
-    vertical = ScrollbarAuto;
+    horizontal = ScrollbarMode::Auto;
+    vertical = ScrollbarMode::Auto;
 }
 
 void ScrollView::platformSetCanBlitOnScroll(bool)

Modified: trunk/Source/WebCore/platform/ScrollView.h (285356 => 285357)


--- trunk/Source/WebCore/platform/ScrollView.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/platform/ScrollView.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -534,8 +534,8 @@
 
     RefPtr<Scrollbar> m_horizontalScrollbar;
     RefPtr<Scrollbar> m_verticalScrollbar;
-    ScrollbarMode m_horizontalScrollbarMode { ScrollbarAuto };
-    ScrollbarMode m_verticalScrollbarMode { ScrollbarAuto };
+    ScrollbarMode m_horizontalScrollbarMode { ScrollbarMode::Auto };
+    ScrollbarMode m_verticalScrollbarMode { ScrollbarMode::Auto };
 
 
     // FIXME: More things will move into here.

Modified: trunk/Source/WebCore/platform/ScrollableArea.h (285356 => 285357)


--- trunk/Source/WebCore/platform/ScrollableArea.h	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/platform/ScrollableArea.h	2021-11-05 23:06:50 UTC (rev 285357)
@@ -121,9 +121,9 @@
     void setHorizontalScrollElasticity(ScrollElasticity scrollElasticity) { m_horizontalScrollElasticity = scrollElasticity; }
     ScrollElasticity horizontalScrollElasticity() const { return m_horizontalScrollElasticity; }
 
-    virtual ScrollbarMode horizontalScrollbarMode() const { return ScrollbarAuto; }
-    virtual ScrollbarMode verticalScrollbarMode() const { return ScrollbarAuto; }
-    bool canHaveScrollbars() const { return horizontalScrollbarMode() != ScrollbarAlwaysOff || verticalScrollbarMode() != ScrollbarAlwaysOff; }
+    virtual ScrollbarMode horizontalScrollbarMode() const { return ScrollbarMode::Auto; }
+    virtual ScrollbarMode verticalScrollbarMode() const { return ScrollbarMode::Auto; }
+    bool canHaveScrollbars() const { return horizontalScrollbarMode() != ScrollbarMode::AlwaysOff || verticalScrollbarMode() != ScrollbarMode::AlwaysOff; }
 
     virtual bool horizontalScrollbarHiddenByStyle() const { return false; }
     virtual bool verticalScrollbarHiddenByStyle() const { return false; }

Modified: trunk/Source/WebCore/platform/ios/wak/WAKScrollView.mm (285356 => 285357)


--- trunk/Source/WebCore/platform/ios/wak/WAKScrollView.mm	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/platform/ios/wak/WAKScrollView.mm	2021-11-05 23:06:50 UTC (rev 285357)
@@ -194,12 +194,12 @@
 
 - (WebCore::ScrollbarMode)horizontalScrollingMode
 {
-    return WebCore::ScrollbarAuto;
+    return WebCore::ScrollbarMode::Auto;
 }
 
 - (WebCore::ScrollbarMode)verticalScrollingMode
 {
-    return WebCore::ScrollbarAuto;
+    return WebCore::ScrollbarMode::Auto;
 }
 
 #pragma mark -

Modified: trunk/Source/WebCore/rendering/RenderFrameBase.cpp (285356 => 285357)


--- trunk/Source/WebCore/rendering/RenderFrameBase.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/rendering/RenderFrameBase.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -93,7 +93,7 @@
     // if scrollbars are off, and the width or height are fixed
     // we obey them and do not expand. With frame flattening
     // no subframe much ever become scrollable.
-    bool isScrollable = frameOwnerElement().scrollingMode() != ScrollbarAlwaysOff;
+    bool isScrollable = frameOwnerElement().scrollingMode() != ScrollbarMode::AlwaysOff;
 
     // consider iframe inset border
     int hBorder = borderLeft() + borderRight();

Modified: trunk/Source/WebCore/rendering/RenderIFrame.cpp (285356 => 285357)


--- trunk/Source/WebCore/rendering/RenderIFrame.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/rendering/RenderIFrame.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -86,7 +86,7 @@
 
     if (style().width().isFixed() && style().height().isFixed()) {
         // Do not flatten iframes with scrolling="no".
-        if (iframeElement().scrollingMode() == ScrollbarAlwaysOff)
+        if (iframeElement().scrollingMode() == ScrollbarMode::AlwaysOff)
             return false;
         // Do not flatten iframes that have zero size, as flattening might make them visible.
         if (style().width().value() <= 0 || style().height().value() <= 0)

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (285356 => 285357)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -2401,7 +2401,7 @@
 static inline bool frameElementAndViewPermitScroll(HTMLFrameElementBase* frameElementBase, FrameView& frameView)
 {
     // If scrollbars aren't explicitly forbidden, permit scrolling.
-    if (frameElementBase && frameElementBase->scrollingMode() != ScrollbarAlwaysOff)
+    if (frameElementBase && frameElementBase->scrollingMode() != ScrollbarMode::AlwaysOff)
         return true;
 
     // If scrollbars are forbidden, user initiated scrolls should obviously be ignored.

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (285356 => 285357)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -403,10 +403,10 @@
     bool useMinimalTilesDuringLiveResize = frameView.inLiveResize();
     if (frameView.speculativeTilingEnabled() && !useMinimalTilesDuringLiveResize) {
         bool clipsToExposedRect = static_cast<bool>(frameView.viewExposedRect());
-        if (frameView.horizontalScrollbarMode() != ScrollbarAlwaysOff || clipsToExposedRect)
+        if (frameView.horizontalScrollbarMode() != ScrollbarMode::AlwaysOff || clipsToExposedRect)
             tileCoverage |= TiledBacking::CoverageForHorizontalScrolling;
 
-        if (frameView.verticalScrollbarMode() != ScrollbarAlwaysOff || clipsToExposedRect)
+        if (frameView.verticalScrollbarMode() != ScrollbarMode::AlwaysOff || clipsToExposedRect)
             tileCoverage |= TiledBacking::CoverageForVerticalScrolling;
     }
     return tileCoverage;

Modified: trunk/Source/WebKit/ChangeLog (285356 => 285357)


--- trunk/Source/WebKit/ChangeLog	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKit/ChangeLog	2021-11-05 23:06:50 UTC (rev 285357)
@@ -1,5 +1,18 @@
 2021-11-05  Nikolaos Mouchtaris  <nmouchta...@apple.com>
 
+        Make scroll bar mode an enum class
+        https://bugs.webkit.org/show_bug.cgi?id=232651
+
+        Reviewed by Simon Fraser.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::setAlwaysShowsHorizontalScroller):
+        (WebKit::WebPage::setAlwaysShowsVerticalScroller):
+
+2021-11-05  Nikolaos Mouchtaris  <nmouchta...@apple.com>
+
         Make scroll elasticity an enum class
         https://bugs.webkit.org/show_bug.cgi?id=232646
 

Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (285356 => 285357)


--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -1528,10 +1528,10 @@
         && webPage->shouldUseCustomContentProviderForResponse(m_frame->coreFrame()->loader().documentLoader()->response());
     m_frameCameFromBackForwardCache = false;
 
-    ScrollbarMode defaultScrollbarMode = shouldHideScrollbars ? ScrollbarAlwaysOff : ScrollbarAuto;
+    ScrollbarMode defaultScrollbarMode = shouldHideScrollbars ? ScrollbarMode::AlwaysOff : ScrollbarMode::Auto;
 
-    ScrollbarMode horizontalScrollbarMode = webPage->alwaysShowsHorizontalScroller() ? ScrollbarAlwaysOn : defaultScrollbarMode;
-    ScrollbarMode verticalScrollbarMode = webPage->alwaysShowsVerticalScroller() ? ScrollbarAlwaysOn : defaultScrollbarMode;
+    ScrollbarMode horizontalScrollbarMode = webPage->alwaysShowsHorizontalScroller() ? ScrollbarMode::AlwaysOn : defaultScrollbarMode;
+    ScrollbarMode verticalScrollbarMode = webPage->alwaysShowsVerticalScroller() ? ScrollbarMode::AlwaysOn : defaultScrollbarMode;
 
     bool horizontalLock = shouldHideScrollbars || webPage->alwaysShowsHorizontalScroller();
     bool verticalLock = shouldHideScrollbars || webPage->alwaysShowsVerticalScroller();

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (285356 => 285357)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-11-05 23:06:50 UTC (rev 285357)
@@ -6154,7 +6154,7 @@
     auto view = corePage()->mainFrame().view();
     if (!alwaysShowsHorizontalScroller)
         view->setHorizontalScrollbarLock(false);
-    view->setHorizontalScrollbarMode(alwaysShowsHorizontalScroller ? ScrollbarAlwaysOn : m_mainFrameIsScrollable ? ScrollbarAuto : ScrollbarAlwaysOff, alwaysShowsHorizontalScroller || !m_mainFrameIsScrollable);
+    view->setHorizontalScrollbarMode(alwaysShowsHorizontalScroller ? ScrollbarMode::AlwaysOn : m_mainFrameIsScrollable ? ScrollbarMode::Auto : ScrollbarMode::AlwaysOff, alwaysShowsHorizontalScroller || !m_mainFrameIsScrollable);
 }
 
 void WebPage::setAlwaysShowsVerticalScroller(bool alwaysShowsVerticalScroller)
@@ -6166,7 +6166,7 @@
     auto view = corePage()->mainFrame().view();
     if (!alwaysShowsVerticalScroller)
         view->setVerticalScrollbarLock(false);
-    view->setVerticalScrollbarMode(alwaysShowsVerticalScroller ? ScrollbarAlwaysOn : m_mainFrameIsScrollable ? ScrollbarAuto : ScrollbarAlwaysOff, alwaysShowsVerticalScroller || !m_mainFrameIsScrollable);
+    view->setVerticalScrollbarMode(alwaysShowsVerticalScroller ? ScrollbarMode::AlwaysOn : m_mainFrameIsScrollable ? ScrollbarMode::Auto : ScrollbarMode::AlwaysOff, alwaysShowsVerticalScroller || !m_mainFrameIsScrollable);
 }
 
 void WebPage::setMinimumSizeForAutoLayout(const IntSize& size)

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (285356 => 285357)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2021-11-05 23:06:50 UTC (rev 285357)
@@ -1,3 +1,23 @@
+2021-11-05  Nikolaos Mouchtaris  <nmouchta...@apple.com>
+
+        Make scroll bar mode an enum class
+        https://bugs.webkit.org/show_bug.cgi?id=232651
+
+        Reviewed by Simon Fraser.
+
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (WebFrameLoaderClient::transitionToCommittedForNewPage):
+        * WebView/WebDynamicScrollBarsView.mm:
+        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
+        (-[WebDynamicScrollBarsView updateScrollers]):
+        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
+        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
+        * WebView/WebView.mm:
+        (-[WebView setAlwaysShowVerticalScroller:]):
+        (-[WebView alwaysShowVerticalScroller]):
+        (-[WebView setAlwaysShowHorizontalScroller:]):
+        (-[WebView alwaysShowHorizontalScroller]):
+
 2021-11-03  Chris Dumez  <cdu...@apple.com>
 
         Unreviewed iOS build fix.

Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (285356 => 285357)


--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2021-11-05 23:06:50 UTC (rev 285357)
@@ -1468,7 +1468,7 @@
         documentLoader->setTitle({ [dataSource pageTitle], WebCore::TextDirection::LTR });
 
     if (auto* ownerElement = coreFrame->ownerElement())
-        coreFrame->view()->setCanHaveScrollbars(ownerElement->scrollingMode() != WebCore::ScrollbarAlwaysOff);
+        coreFrame->view()->setCanHaveScrollbars(ownerElement->scrollingMode() != WebCore::ScrollbarMode::AlwaysOff);
 
     // If the document view implicitly became first responder, make sure to set the focused frame properly.
     if ([[documentView window] firstResponder] == documentView) {

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebDynamicScrollBarsView.mm (285356 => 285357)


--- trunk/Source/WebKitLegacy/mac/WebView/WebDynamicScrollBarsView.mm	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebDynamicScrollBarsView.mm	2021-11-05 23:06:50 UTC (rev 285357)
@@ -133,10 +133,10 @@
 {
     if (_private->hScrollModeLocked)
         return;
-    if (flag && _private->hScroll == ScrollbarAlwaysOff)
-        _private->hScroll = ScrollbarAuto;
-    else if (!flag && _private->hScroll != ScrollbarAlwaysOff)
-        _private->hScroll = ScrollbarAlwaysOff;
+    if (flag && _private->hScroll == ScrollbarMode::AlwaysOff)
+        _private->hScroll = ScrollbarMode::Auto;
+    else if (!flag && _private->hScroll != ScrollbarMode::AlwaysOff)
+        _private->hScroll = ScrollbarMode::AlwaysOff;
     [self updateScrollers];
 }
 
@@ -300,12 +300,12 @@
         newHasVerticalScroller = NO;
     }
 
-    if (_private->hScroll != ScrollbarAuto)
-        newHasHorizontalScroller = (_private->hScroll == ScrollbarAlwaysOn);
-    if (_private->vScroll != ScrollbarAuto)
-        newHasVerticalScroller = (_private->vScroll == ScrollbarAlwaysOn);
+    if (_private->hScroll != ScrollbarMode::Auto)
+        newHasHorizontalScroller = (_private->hScroll == ScrollbarMode::AlwaysOn);
+    if (_private->vScroll != ScrollbarMode::Auto)
+        newHasVerticalScroller = (_private->vScroll == ScrollbarMode::AlwaysOn);
 
-    if (!documentView || _private->suppressLayout || _private->suppressScrollers || (_private->hScroll != ScrollbarAuto && _private->vScroll != ScrollbarAuto)) {
+    if (!documentView || _private->suppressLayout || _private->suppressScrollers || (_private->hScroll != ScrollbarMode::Auto && _private->vScroll != ScrollbarMode::Auto)) {
         _private->horizontalScrollingAllowedButScrollerHidden = newHasHorizontalScroller && _private->alwaysHideHorizontalScroller;
         if (_private->horizontalScrollingAllowedButScrollerHidden)
             newHasHorizontalScroller = NO;
@@ -342,13 +342,13 @@
     frameSize.width = ceilf(frameSize.width);
     frameSize.height = ceilf(frameSize.height);
 
-    if (_private->hScroll == ScrollbarAuto) {
+    if (_private->hScroll == ScrollbarMode::Auto) {
         newHasHorizontalScroller = documentSize.width > visibleSize.width;
         if (newHasHorizontalScroller && !_private->inUpdateScrollersLayoutPass && documentSize.height <= frameSize.height && documentSize.width <= frameSize.width)
             newHasHorizontalScroller = NO;
     }
 
-    if (_private->vScroll == ScrollbarAuto) {
+    if (_private->vScroll == ScrollbarMode::Auto) {
         newHasVerticalScroller = documentSize.height > visibleSize.height;
         if (newHasVerticalScroller && !_private->inUpdateScrollersLayoutPass && documentSize.height <= frameSize.height && documentSize.width <= frameSize.width)
             newHasVerticalScroller = NO;
@@ -356,9 +356,9 @@
 
     // Unless in ScrollbarsAlwaysOn mode, if we ever turn one scrollbar off, always turn the other one off too.
     // Never ever try to both gain/lose a scrollbar in the same pass.
-    if (!newHasHorizontalScroller && hasHorizontalScroller && _private->vScroll != ScrollbarAlwaysOn)
+    if (!newHasHorizontalScroller && hasHorizontalScroller && _private->vScroll != ScrollbarMode::AlwaysOn)
         newHasVerticalScroller = NO;
-    if (!newHasVerticalScroller && hasVerticalScroller && _private->hScroll != ScrollbarAlwaysOn)
+    if (!newHasVerticalScroller && hasVerticalScroller && _private->hScroll != ScrollbarMode::AlwaysOn)
         newHasHorizontalScroller = NO;
 
     _private->horizontalScrollingAllowedButScrollerHidden = newHasHorizontalScroller && _private->alwaysHideHorizontalScroller;
@@ -438,12 +438,12 @@
 
 - (BOOL)allowsHorizontalScrolling
 {
-    return _private->hScroll != ScrollbarAlwaysOff;
+    return _private->hScroll != ScrollbarMode::AlwaysOff;
 }
 
 - (BOOL)allowsVerticalScrolling
 {
-    return _private->vScroll != ScrollbarAlwaysOff;
+    return _private->vScroll != ScrollbarMode::AlwaysOff;
 }
 
 - (void)scrollingModes:(WebCore::ScrollbarMode*)hMode vertical:(WebCore::ScrollbarMode*)vMode

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (285356 => 285357)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2021-11-05 22:42:12 UTC (rev 285356)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2021-11-05 23:06:50 UTC (rev 285357)
@@ -3658,10 +3658,10 @@
 {
     WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
     if (flag) {
-        [scrollview setVerticalScrollingMode:WebCore::ScrollbarAlwaysOn andLock:YES];
+        [scrollview setVerticalScrollingMode:WebCore::ScrollbarMode::AlwaysOn andLock:YES];
     } else {
         [scrollview setVerticalScrollingModeLocked:NO];
-        [scrollview setVerticalScrollingMode:WebCore::ScrollbarAuto andLock:NO];
+        [scrollview setVerticalScrollingMode:WebCore::ScrollbarMode::Auto andLock:NO];
     }
 }
 
@@ -3668,7 +3668,7 @@
 - (BOOL)alwaysShowVerticalScroller
 {
     WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
-    return [scrollview verticalScrollingModeLocked] && [scrollview verticalScrollingMode] == WebCore::ScrollbarAlwaysOn;
+    return [scrollview verticalScrollingModeLocked] && [scrollview verticalScrollingMode] == WebCore::ScrollbarMode::AlwaysOn;
 }
 
 - (void)setAlwaysShowHorizontalScroller:(BOOL)flag
@@ -3675,10 +3675,10 @@
 {
     WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
     if (flag) {
-        [scrollview setHorizontalScrollingMode:WebCore::ScrollbarAlwaysOn andLock:YES];
+        [scrollview setHorizontalScrollingMode:WebCore::ScrollbarMode::AlwaysOn andLock:YES];
     } else {
         [scrollview setHorizontalScrollingModeLocked:NO];
-        [scrollview setHorizontalScrollingMode:WebCore::ScrollbarAuto andLock:NO];
+        [scrollview setHorizontalScrollingMode:WebCore::ScrollbarMode::Auto andLock:NO];
     }
 }
 
@@ -3691,7 +3691,7 @@
 - (BOOL)alwaysShowHorizontalScroller
 {
     WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
-    return [scrollview horizontalScrollingModeLocked] && [scrollview horizontalScrollingMode] == WebCore::ScrollbarAlwaysOn;
+    return [scrollview horizontalScrollingModeLocked] && [scrollview horizontalScrollingMode] == WebCore::ScrollbarMode::AlwaysOn;
 }
 #endif // !PLATFORM(IOS_FAMILY)
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to