<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[259672] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/259672">259672</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2020-04-07 14:33:04 -0700 (Tue, 07 Apr 2020)</dd>
</dl>

<h3>Log Message</h3>
<pre>Use RectEdges<> in some scrolling tree code
https://bugs.webkit.org/show_bug.cgi?id=210141

Reviewed by Tim Horton.
Source/WebCore:

Add utility functions on ScrollingTreeScrollingNode to get pinned and rubberband state.
Use them to push main frame state to the scrolling tree (which we do so we can safely
access the state from the EventDispatcher thread).

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::setMainFramePinnedState):
(WebCore::ScrollingTree::setMainFrameCanRubberBand):
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
(WebCore::ScrollingTree::setMainFramePinState): Deleted.
(WebCore::ScrollingTree::setCanRubberBandState): Deleted.
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::edgePinnedState const):
(WebCore::ScrollingTreeScrollingNode::isRubberBanding const):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinAndRubberbandState):

Source/WebKit:

Construct a RectEdges<>. Order is top, right, bottom, left.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingTreecpp">trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingTreeh">trunk/Source/WebCore/page/scrolling/ScrollingTree.h</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingTreeScrollingNodecpp">trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingTreeScrollingNodeh">trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h</a></li>
<li><a href="#trunkSourceWebCorepagescrollingmacScrollingTreeFrameScrollingNodeMacmm">trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageEventDispatchercpp">trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebCore/ChangeLog      2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2020-04-07  Simon Fraser  <simon.fraser@apple.com>
+
+        Use RectEdges<> in some scrolling tree code
+        https://bugs.webkit.org/show_bug.cgi?id=210141
+
+        Reviewed by Tim Horton.
+
+        Add utility functions on ScrollingTreeScrollingNode to get pinned and rubberband state.
+        Use them to push main frame state to the scrolling tree (which we do so we can safely
+        access the state from the EventDispatcher thread).
+
+        * page/scrolling/ScrollingTree.cpp:
+        (WebCore::ScrollingTree::setMainFramePinnedState):
+        (WebCore::ScrollingTree::setMainFrameCanRubberBand):
+        (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
+        (WebCore::ScrollingTree::setMainFramePinState): Deleted.
+        (WebCore::ScrollingTree::setCanRubberBandState): Deleted.
+        * page/scrolling/ScrollingTree.h:
+        * page/scrolling/ScrollingTreeScrollingNode.cpp:
+        (WebCore::ScrollingTreeScrollingNode::edgePinnedState const):
+        (WebCore::ScrollingTreeScrollingNode::isRubberBanding const):
+        * page/scrolling/ScrollingTreeScrollingNode.h:
+        * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
+        (WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinAndRubberbandState):
+
</ins><span class="cx"> 2020-04-07  Joanmarie Diggs  <jdiggs@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         AX: Change ATK mapping of the ARIA alert and alertdialog roles
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingTreecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp    2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp       2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -383,24 +383,18 @@
</span><span class="cx">     m_treeState.mainFrameIsScrollSnapping = isScrollSnapping;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollingTree::setMainFramePinState(bool pinnedToTheLeft, bool pinnedToTheRight, bool pinnedToTheTop, bool pinnedToTheBottom)
</del><ins>+void ScrollingTree::setMainFramePinnedState(RectEdges<bool> edgePinningState)
</ins><span class="cx"> {
</span><span class="cx">     LockHolder locker(m_swipeStateMutex);
</span><span class="cx"> 
</span><del>-    m_swipeState.mainFramePinnedToTheLeft = pinnedToTheLeft;
-    m_swipeState.mainFramePinnedToTheRight = pinnedToTheRight;
-    m_swipeState.mainFramePinnedToTheTop = pinnedToTheTop;
-    m_swipeState.mainFramePinnedToTheBottom = pinnedToTheBottom;
</del><ins>+    m_swipeState.mainFramePinnedState = edgePinningState;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollingTree::setCanRubberBandState(bool canRubberBandAtLeft, bool canRubberBandAtRight, bool canRubberBandAtTop, bool canRubberBandAtBottom)
</del><ins>+void ScrollingTree::setMainFrameCanRubberBand(RectEdges<bool> canRubberBand)
</ins><span class="cx"> {
</span><span class="cx">     LockHolder locker(m_swipeStateMutex);
</span><span class="cx"> 
</span><del>-    m_swipeState.rubberBandsAtLeft = canRubberBandAtLeft;
-    m_swipeState.rubberBandsAtRight = canRubberBandAtRight;
-    m_swipeState.rubberBandsAtTop = canRubberBandAtTop;
-    m_swipeState.rubberBandsAtBottom = canRubberBandAtBottom;
</del><ins>+    m_swipeState.canRubberBand = canRubberBand;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Can be called from the main thread.
</span><span class="lines">@@ -425,13 +419,13 @@
</span><span class="cx"> 
</span><span class="cx">     LockHolder lock(m_swipeStateMutex);
</span><span class="cx"> 
</span><del>-    if (wheelEvent.deltaX() > 0 && m_swipeState.mainFramePinnedToTheLeft && !m_swipeState.rubberBandsAtLeft)
</del><ins>+    if (wheelEvent.deltaX() > 0 && m_swipeState.mainFramePinnedState.left() && !m_swipeState.canRubberBand.left())
</ins><span class="cx">         return true;
</span><del>-    if (wheelEvent.deltaX() < 0 && m_swipeState.mainFramePinnedToTheRight && !m_swipeState.rubberBandsAtRight)
</del><ins>+    if (wheelEvent.deltaX() < 0 && m_swipeState.mainFramePinnedState.right() && !m_swipeState.canRubberBand.right())
</ins><span class="cx">         return true;
</span><del>-    if (wheelEvent.deltaY() > 0 && m_swipeState.mainFramePinnedToTheTop && !m_swipeState.rubberBandsAtTop)
</del><ins>+    if (wheelEvent.deltaY() > 0 && m_swipeState.mainFramePinnedState.top() && !m_swipeState.canRubberBand.top())
</ins><span class="cx">         return true;
</span><del>-    if (wheelEvent.deltaY() < 0 && m_swipeState.mainFramePinnedToTheBottom && !m_swipeState.rubberBandsAtBottom)
</del><ins>+    if (wheelEvent.deltaY() < 0 && m_swipeState.mainFramePinnedState.bottom() && !m_swipeState.canRubberBand.bottom())
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingTreeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.h (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingTree.h      2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.h 2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #if ENABLE(ASYNC_SCROLLING)
</span><span class="cx"> 
</span><span class="cx"> #include "PlatformWheelEvent.h"
</span><ins>+#include "RectEdges.h"
</ins><span class="cx"> #include "Region.h"
</span><span class="cx"> #include "ScrollingCoordinator.h"
</span><span class="cx"> #include "WheelEventTestMonitor.h"
</span><span class="lines">@@ -118,10 +119,10 @@
</span><span class="cx">     WEBCORE_EXPORT virtual void currentSnapPointIndicesDidChange(ScrollingNodeID, unsigned horizontal, unsigned vertical) = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void setMainFramePinState(bool pinnedToTheLeft, bool pinnedToTheRight, bool pinnedToTheTop, bool pinnedToTheBottom);
</del><ins>+    void setMainFramePinnedState(RectEdges<bool>);
</ins><span class="cx"> 
</span><span class="cx">     // Can be called from any thread. Will update what edges allow rubber-banding.
</span><del>-    WEBCORE_EXPORT void setCanRubberBandState(bool canRubberBandAtLeft, bool canRubberBandAtRight, bool canRubberBandAtTop, bool canRubberBandAtBottom);
</del><ins>+    WEBCORE_EXPORT void setMainFrameCanRubberBand(RectEdges<bool>);
</ins><span class="cx"> 
</span><span class="cx">     bool isHandlingProgrammaticScroll() const { return m_isHandlingProgrammaticScroll; }
</span><span class="cx">     void setIsHandlingProgrammaticScroll(bool isHandlingProgrammaticScroll) { m_isHandlingProgrammaticScroll = isHandlingProgrammaticScroll; }
</span><span class="lines">@@ -212,10 +213,9 @@
</span><span class="cx">         bool rubberBandsAtRight { true };
</span><span class="cx">         bool rubberBandsAtTop { true };
</span><span class="cx">         bool rubberBandsAtBottom { true };
</span><del>-        bool mainFramePinnedToTheLeft { true };
-        bool mainFramePinnedToTheRight { true };
-        bool mainFramePinnedToTheTop { true };
-        bool mainFramePinnedToTheBottom { true };
</del><ins>+        
+        RectEdges<bool> canRubberBand  { true, true, true, true };
+        RectEdges<bool> mainFramePinnedState { true, true, true, true };
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     Lock m_swipeStateMutex;
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingTreeScrollingNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp       2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp  2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -151,6 +151,33 @@
</span><span class="cx">     return newScrollPosition == oldScrollPosition;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+RectEdges<bool> ScrollingTreeScrollingNode::edgePinnedState() const
+{
+    auto scrollPosition = currentScrollPosition();
+    auto minScrollPosition = minimumScrollPosition();
+    auto maxScrollPosition = maximumScrollPosition();
+
+    // Top, right, bottom, left.
+    return {
+        scrollPosition.y() <= minScrollPosition.y(),
+        scrollPosition.x() >= maxScrollPosition.x(),
+        scrollPosition.y() >= maxScrollPosition.y(),
+        scrollPosition.x() <= minScrollPosition.x()
+    };
+}
+
+bool ScrollingTreeScrollingNode::isRubberBanding() const
+{
+    auto scrollPosition = currentScrollPosition();
+    auto minScrollPosition = minimumScrollPosition();
+    auto maxScrollPosition = maximumScrollPosition();
+
+    return scrollPosition.x() < minScrollPosition.x()
+        || scrollPosition.x() > maxScrollPosition.x()
+        || scrollPosition.y() < minScrollPosition.y()
+        || scrollPosition.y() > maxScrollPosition.y();
+}
+
</ins><span class="cx"> FloatPoint ScrollingTreeScrollingNode::adjustedScrollPosition(const FloatPoint& scrollPosition, ScrollClamping clamping) const
</span><span class="cx"> {
</span><span class="cx">     if (clamping == ScrollClamping::Clamped)
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingTreeScrollingNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h 2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h    2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #if ENABLE(ASYNC_SCROLLING)
</span><span class="cx"> 
</span><span class="cx"> #include "IntRect.h"
</span><ins>+#include "RectEdges.h"
</ins><span class="cx"> #include "ScrollSnapOffsetsInfo.h"
</span><span class="cx"> #include "ScrollTypes.h"
</span><span class="cx"> #include "ScrollableArea.h"
</span><span class="lines">@@ -58,6 +59,9 @@
</span><span class="cx">     FloatPoint currentScrollOffset() const { return ScrollableArea::scrollOffsetFromPosition(m_currentScrollPosition, toFloatSize(m_scrollOrigin)); }
</span><span class="cx">     FloatPoint lastCommittedScrollPosition() const { return m_lastCommittedScrollPosition; }
</span><span class="cx">     FloatSize scrollDeltaSinceLastCommit() const { return m_currentScrollPosition - m_lastCommittedScrollPosition; }
</span><ins>+    
+    RectEdges<bool> edgePinnedState() const;
+    bool isRubberBanding() const;
</ins><span class="cx"> 
</span><span class="cx">     // These are imperative; they adjust the scrolling layers.
</span><span class="cx">     void scrollTo(const FloatPoint&, ScrollType = ScrollType::User, ScrollClamping = ScrollClamping::Clamped);
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingmacScrollingTreeFrameScrollingNodeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm    2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm       2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -260,20 +260,8 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isRootNode());
</span><span class="cx"> 
</span><del>-    auto scrollPosition = currentScrollPosition();
-    bool pinnedToTheLeft = scrollPosition.x() <= minimumScrollPosition().x();
-    bool pinnedToTheRight = scrollPosition.x() >= maximumScrollPosition().x();
-    bool pinnedToTheTop = scrollPosition.y() <= minimumScrollPosition().y();
-    bool pinnedToTheBottom = scrollPosition.y() >= maximumScrollPosition().y();
-
-    scrollingTree().setMainFramePinState(pinnedToTheLeft, pinnedToTheRight, pinnedToTheTop, pinnedToTheBottom);
-
-    bool rubberbanding = scrollPosition.x() < minimumScrollPosition().x()
-        || scrollPosition.x() > maximumScrollPosition().x()
-        || scrollPosition.y() < minimumScrollPosition().y()
-        || scrollPosition.y() > maximumScrollPosition().y();
-    
-    scrollingTree().setMainFrameIsRubberBanding(rubberbanding);
</del><ins>+    scrollingTree().setMainFramePinnedState(edgePinnedState());
+    scrollingTree().setMainFrameIsRubberBanding(isRubberBanding());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> unsigned ScrollingTreeFrameScrollingNodeMac::exposedUnfilledArea() const
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog    2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebKit/ChangeLog       2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2020-04-07  Simon Fraser  <simon.fraser@apple.com>
+
+        Use RectEdges<> in some scrolling tree code
+        https://bugs.webkit.org/show_bug.cgi?id=210141
+
+        Reviewed by Tim Horton.
+        
+        Construct a RectEdges<>. Order is top, right, bottom, left.
+
+        * WebProcess/WebPage/EventDispatcher.cpp:
+        (WebKit::EventDispatcher::wheelEvent):
+
</ins><span class="cx"> 2020-04-07  Lauro Moura  <lmoura@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [GLIB] Avoid potential segfault in getPlatformEditorState
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageEventDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp (259671 => 259672)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp       2020-04-07 21:14:16 UTC (rev 259671)
+++ trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp  2020-04-07 21:33:04 UTC (rev 259672)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">         // scrolling tree can be notified.
</span><span class="cx">         // We only need to do this at the beginning of the gesture.
</span><span class="cx">         if (platformWheelEvent.phase() == PlatformWheelEventPhaseBegan)
</span><del>-            scrollingTree->setCanRubberBandState(canRubberBandAtLeft, canRubberBandAtRight, canRubberBandAtTop, canRubberBandAtBottom);
</del><ins>+            scrollingTree->setMainFrameCanRubberBand({ canRubberBandAtTop, canRubberBandAtRight, canRubberBandAtBottom, canRubberBandAtLeft });
</ins><span class="cx"> 
</span><span class="cx">         ScrollingEventResult result = scrollingTree->tryToHandleWheelEvent(platformWheelEvent);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>