Title: [271585] trunk/Source
Revision
271585
Author
[email protected]
Date
2021-01-18 13:11:57 -0800 (Mon, 18 Jan 2021)

Log Message

Remove recently added glue code: RenderLayer::(setAdjustForIOSCaretWhenScrolling / setScrollShouldClearLatchedState / setConstrainsScrollingToContentEdge)
https://bugs.webkit.org/show_bug.cgi?id=220708

Reviewed by Adrian Perez de Castro.

Follow-up on patch adressing the removal of the glue code that
forwards calls from RenderLayer to RenderLayerScrollableArea (see
webkit.org/b/60305).

Covered by existing tests.

Source/WebCore:

* dom/Element.cpp:
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::revealSelection):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scroll):
(WebCore::RenderLayer::setAdjustForIOSCaretWhenScrolling): Deleted.
(WebCore::RenderLayer::setScrollShouldClearLatchedState): Deleted.
(WebCore::RenderLayer::setConstrainsScrollingToContentEdge): Deleted.
* rendering/RenderLayer.h:
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::RenderMarquee):

Source/WebKitLegacy/mac:

* DOM/DOMHTML.mm:
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (271584 => 271585)


--- trunk/Source/WebCore/ChangeLog	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebCore/ChangeLog	2021-01-18 21:11:57 UTC (rev 271585)
@@ -1,3 +1,30 @@
+2021-01-18  Nikolas Zimmermann  <[email protected]>
+
+        Remove recently added glue code: RenderLayer::(setAdjustForIOSCaretWhenScrolling / setScrollShouldClearLatchedState / setConstrainsScrollingToContentEdge)
+        https://bugs.webkit.org/show_bug.cgi?id=220708
+
+        Reviewed by Adrian Perez de Castro.
+
+        Follow-up on patch adressing the removal of the glue code that
+        forwards calls from RenderLayer to RenderLayerScrollableArea (see
+        webkit.org/b/60305).
+
+        Covered by existing tests.
+
+        * dom/Element.cpp:
+        (WebCore::Element::setScrollLeft):
+        (WebCore::Element::setScrollTop):
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::revealSelection):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scroll):
+        (WebCore::RenderLayer::setAdjustForIOSCaretWhenScrolling): Deleted.
+        (WebCore::RenderLayer::setScrollShouldClearLatchedState): Deleted.
+        (WebCore::RenderLayer::setConstrainsScrollingToContentEdge): Deleted.
+        * rendering/RenderLayer.h:
+        * rendering/RenderMarquee.cpp:
+        (WebCore::RenderMarquee::RenderMarquee):
+
 2021-01-18  Antti Koivisto  <[email protected]>
 
         Optimize :hover/:active style invalidation for deep trees and descendant selectors

Modified: trunk/Source/WebCore/dom/Element.cpp (271584 => 271585)


--- trunk/Source/WebCore/dom/Element.cpp	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebCore/dom/Element.cpp	2021-01-18 21:11:57 UTC (rev 271585)
@@ -92,6 +92,7 @@
 #include "RenderLayer.h"
 #include "RenderLayerBacking.h"
 #include "RenderLayerCompositor.h"
+#include "RenderLayerScrollableArea.h"
 #include "RenderListBox.h"
 #include "RenderTheme.h"
 #include "RenderTreeUpdater.h"
@@ -1336,7 +1337,7 @@
     if (auto* renderer = renderBox()) {
         int clampedLeft = clampToInteger(newLeft * renderer->style().effectiveZoom());
         renderer->setScrollLeft(clampedLeft, options);
-        if (auto* scrollableArea = renderer->layer())
+        if (auto* scrollableArea = renderer->layer() ? renderer->layer()->scrollableArea() : nullptr)
             scrollableArea->setScrollShouldClearLatchedState(true);
     }
 }
@@ -1359,7 +1360,7 @@
     if (auto* renderer = renderBox()) {
         int clampedTop = clampToInteger(newTop * renderer->style().effectiveZoom());
         renderer->setScrollTop(clampedTop, options);
-        if (auto* scrollableArea = renderer->layer())
+        if (auto* scrollableArea = renderer->layer() ? renderer->layer()->scrollableArea() : nullptr)
             scrollableArea->setScrollShouldClearLatchedState(true);
     }
 }

Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (271584 => 271585)


--- trunk/Source/WebCore/editing/FrameSelection.cpp	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp	2021-01-18 21:11:57 UTC (rev 271585)
@@ -58,6 +58,7 @@
 #include "Page.h"
 #include "Range.h"
 #include "RenderLayer.h"
+#include "RenderLayerScrollableArea.h"
 #include "RenderText.h"
 #include "RenderTextControl.h"
 #include "RenderTheme.h"
@@ -2391,9 +2392,10 @@
 #if PLATFORM(IOS_FAMILY)
         if (RenderLayer* layer = start.deprecatedNode()->renderer()->enclosingLayer()) {
             if (!m_scrollingSuppressCount) {
-                layer->setAdjustForIOSCaretWhenScrolling(true);
+                auto* scrollableLayer = layer->ensureLayerScrollableArea();
+                scrollableLayer->setAdjustForIOSCaretWhenScrolling(true);
                 layer->scrollRectToVisible(rect, insideFixed, { revealMode, alignment, alignment, ShouldAllowCrossOriginScrolling::Yes });
-                layer->setAdjustForIOSCaretWhenScrolling(false);
+                scrollableLayer->setAdjustForIOSCaretWhenScrolling(false);
                 updateAppearance();
                 if (m_document->page())
                     m_document->page()->chrome().client().notifyRevealedSelectionByScrollingFrame(*m_document->frame());

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (271584 => 271585)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-01-18 21:11:57 UTC (rev 271585)
@@ -422,19 +422,6 @@
         m_scrollableArea->setRequiresScrollPositionReconciliation(requiresReconciliation);
 }
 
-#if PLATFORM(IOS_FAMILY)
-void RenderLayer::setAdjustForIOSCaretWhenScrolling(bool adjustForIOSCaretWhenScrolling)
-{
-    ensureLayerScrollableArea()->setAdjustForIOSCaretWhenScrolling(adjustForIOSCaretWhenScrolling);
-}
-#endif
-
-void RenderLayer::setScrollShouldClearLatchedState(bool shouldClear)
-{
-    if (m_scrollableArea)
-        m_scrollableArea->setScrollShouldClearLatchedState(shouldClear);
-}
-
 bool RenderLayer::shouldPlaceBlockDirectionScrollbarOnLeft() const
 {
     return renderer().shouldPlaceBlockDirectionScrollbarOnLeft();
@@ -605,12 +592,6 @@
 {
     return ensureLayerScrollableArea()->scroll(direction, granularity, multiplier);
 }
-
-void RenderLayer::setConstrainsScrollingToContentEdge(bool constrainsScrollingToContentEdge)
-{
-    if (m_scrollableArea)
-        m_scrollableArea->setConstrainsScrollingToContentEdge(constrainsScrollingToContentEdge);
-}
 // End of temporary glue code
 
 void RenderLayer::addChild(RenderLayer& child, RenderLayer* beforeChild)

Modified: trunk/Source/WebCore/rendering/RenderLayer.h (271584 => 271585)


--- trunk/Source/WebCore/rendering/RenderLayer.h	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebCore/rendering/RenderLayer.h	2021-01-18 21:11:57 UTC (rev 271585)
@@ -168,10 +168,6 @@
     void setScrollPosition(const ScrollPosition&, const ScrollPositionChangeOptions&);
     void scrollByRecursively(const IntSize& delta, ScrollableArea** scrolledArea = nullptr);
     void setRequiresScrollPositionReconciliation(bool requiresReconciliation = true);
-#if PLATFORM(IOS_FAMILY)
-    WEBCORE_EXPORT void setAdjustForIOSCaretWhenScrolling(bool);
-#endif
-    void setScrollShouldClearLatchedState(bool);
     bool shouldPlaceBlockDirectionScrollbarOnLeft() const;
     bool containsDirtyOverlayScrollbars() const;
     bool hasScrollableOrRubberbandableAncestor();
@@ -201,7 +197,6 @@
     int verticalScrollbarWidth(OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
     int horizontalScrollbarHeight(OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
     bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1);
-    void setConstrainsScrollingToContentEdge(bool);
     // End of temporary glue code
 
 #if PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebCore/rendering/RenderMarquee.cpp (271584 => 271585)


--- trunk/Source/WebCore/rendering/RenderMarquee.cpp	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebCore/rendering/RenderMarquee.cpp	2021-01-18 21:11:57 UTC (rev 271585)
@@ -61,7 +61,9 @@
     : m_layer(layer)
     , m_timer(*this, &RenderMarquee::timerFired)
 {
-    layer->setConstrainsScrollingToContentEdge(false);
+    ASSERT(layer);
+    ASSERT(layer->scrollableArea());
+    layer->scrollableArea()->setConstrainsScrollingToContentEdge(false);
 }
 
 RenderMarquee::~RenderMarquee() = default;

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (271584 => 271585)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2021-01-18 21:11:57 UTC (rev 271585)
@@ -1,5 +1,24 @@
 2021-01-18  Nikolas Zimmermann  <[email protected]>
 
+        Remove recently added glue code: RenderLayer::(setAdjustForIOSCaretWhenScrolling / setScrollShouldClearLatchedState / setConstrainsScrollingToContentEdge)
+        https://bugs.webkit.org/show_bug.cgi?id=220708
+
+        Reviewed by Adrian Perez de Castro.
+
+        Follow-up on patch adressing the removal of the glue code that
+        forwards calls from RenderLayer to RenderLayerScrollableArea (see
+        webkit.org/b/60305).
+
+        Covered by existing tests.
+
+        * DOM/DOMHTML.mm:
+        (-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
+        * WebView/WebFrame.mm:
+        (-[WebFrame _scrollDOMRangeToVisible:]):
+        (-[WebFrame _scrollDOMRangeToVisible:withInset:]):
+
+2021-01-18  Nikolas Zimmermann  <[email protected]>
+
         Remove recently added glue code: RenderLayer::(scrollToOffset / scrollToXOffset / scrollToYOffset)
         https://bugs.webkit.org/show_bug.cgi?id=220705
 

Modified: trunk/Source/WebKitLegacy/mac/DOM/DOMHTML.mm (271584 => 271585)


--- trunk/Source/WebKitLegacy/mac/DOM/DOMHTML.mm	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebKitLegacy/mac/DOM/DOMHTML.mm	2021-01-18 21:11:57 UTC (rev 271585)
@@ -117,13 +117,13 @@
     auto* scrollableLayer = layer->ensureLayerScrollableArea();
 
     if (adjustForIOSCaret)
-        layer->setAdjustForIOSCaretWhenScrolling(true);
+        scrollableLayer->setAdjustForIOSCaretWhenScrolling(true);
 
     auto scrollPositionChangeOptions = WebCore::ScrollPositionChangeOptions::createProgrammatic();
     scrollPositionChangeOptions.clamping = WebCore::ScrollClamping::Unclamped;
     scrollableLayer->scrollToOffset(WebCore::ScrollOffset(x, y), scrollPositionChangeOptions);
     if (adjustForIOSCaret)
-        layer->setAdjustForIOSCaretWhenScrolling(false);
+        scrollableLayer->setAdjustForIOSCaretWhenScrolling(false);
 }
 
 - (void)absolutePosition:(int *)x :(int *)y :(int *)w :(int *)h

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm (271584 => 271585)


--- trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm	2021-01-18 20:26:24 UTC (rev 271584)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm	2021-01-18 21:11:57 UTC (rev 271585)
@@ -95,6 +95,7 @@
 #import <WebCore/PrintContext.h>
 #import <WebCore/Range.h>
 #import <WebCore/RenderLayer.h>
+#import <WebCore/RenderLayerScrollableArea.h>
 #import <WebCore/RenderView.h>
 #import <WebCore/RenderWidget.h>
 #import <WebCore/RenderedDocumentMarker.h>
@@ -741,9 +742,10 @@
 #else
         auto* layer = startNode->renderer()->enclosingLayer();
         if (layer) {
-            layer->setAdjustForIOSCaretWhenScrolling(true);
+            auto* scrollableLayer = layer->ensureLayerScrollableArea();
+            scrollableLayer->setAdjustForIOSCaretWhenScrolling(true);
             startNode->renderer()->scrollRectToVisible(WebCore::enclosingIntRect(rangeRect), insideFixed, { WebCore::SelectionRevealMode::Reveal, WebCore::ScrollAlignment::alignToEdgeIfNeeded, WebCore::ScrollAlignment::alignToEdgeIfNeeded, WebCore::ShouldAllowCrossOriginScrolling::Yes });
-            layer->setAdjustForIOSCaretWhenScrolling(false);
+            scrollableLayer->setAdjustForIOSCaretWhenScrolling(false);
             _private->coreFrame->selection().setCaretRectNeedsUpdate();
             _private->coreFrame->selection().updateAppearance();
         }
@@ -761,9 +763,10 @@
     if (startNode && startNode->renderer()) {
         auto* layer = startNode->renderer()->enclosingLayer();
         if (layer) {
-            layer->setAdjustForIOSCaretWhenScrolling(true);
+            auto* scrollableLayer = layer->ensureLayerScrollableArea();
+            scrollableLayer->setAdjustForIOSCaretWhenScrolling(true);
             startNode->renderer()->scrollRectToVisible(WebCore::enclosingIntRect(rangeRect), insideFixed, { WebCore::SelectionRevealMode::Reveal, WebCore::ScrollAlignment::alignToEdgeIfNeeded, WebCore::ScrollAlignment::alignToEdgeIfNeeded, WebCore::ShouldAllowCrossOriginScrolling::Yes});
-            layer->setAdjustForIOSCaretWhenScrolling(false);
+            scrollableLayer->setAdjustForIOSCaretWhenScrolling(false);
 
             auto coreFrame = core(self);
             if (coreFrame) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to