Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1747)

Unified Diff: Source/platform/mac/ScrollAnimatorMac.mm

Issue 977663002: Mac: Delete now-dead elastic overscroll code (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/platform/mac/ScrollAnimatorMac.h ('k') | Source/platform/mac/ScrollElasticityController.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/mac/ScrollAnimatorMac.mm
diff --git a/Source/platform/mac/ScrollAnimatorMac.mm b/Source/platform/mac/ScrollAnimatorMac.mm
index b84bf606885782a016f7c69a26d7efab33abdf29..87bb470545ae2bcbf7ffc2393d6756efbb716c6f 100644
--- a/Source/platform/mac/ScrollAnimatorMac.mm
+++ b/Source/platform/mac/ScrollAnimatorMac.mm
@@ -661,10 +661,6 @@ ScrollAnimatorMac::ScrollAnimatorMac(ScrollableArea* scrollableArea)
: ScrollAnimator(scrollableArea)
, m_initialScrollbarPaintTimer(this, &ScrollAnimatorMac::initialScrollbarPaintTimerFired)
, m_sendContentAreaScrolledTimer(this, &ScrollAnimatorMac::sendContentAreaScrolledTimerFired)
-#if USE(RUBBER_BANDING)
- , m_scrollElasticityController(this)
- , m_snapRubberBandTimer(this, &ScrollAnimatorMac::snapRubberBandTimerFired)
-#endif
, m_haveScrolledSincePageLoad(false)
, m_needsScrollerStyleUpdate(false)
{
@@ -700,24 +696,6 @@ static bool scrollAnimationEnabledForSystem()
return enabled;
}
-#if USE(RUBBER_BANDING)
-static bool rubberBandingEnabledForSystem()
-{
- static bool initialized = false;
- static bool enabled = true;
- // Caches the result, which is consistent with other apps like the Finder, which all
- // require a restart after changing this default.
- if (!initialized) {
- // Uses -objectForKey: and not -boolForKey: in order to default to true if the value wasn't set.
- id value = [[NSUserDefaults standardUserDefaults] objectForKey:@"NSScrollViewRubberbanding"];
- if ([value isKindOfClass:[NSNumber class]])
- enabled = [value boolValue];
- initialized = true;
- }
- return enabled;
-}
-#endif
-
ScrollResultOneDimensional ScrollAnimatorMac::scroll(ScrollbarOrientation orientation, ScrollGranularity granularity, float step, float delta)
{
m_haveScrolledSincePageLoad = true;
@@ -766,18 +744,6 @@ FloatPoint ScrollAnimatorMac::adjustScrollPositionIfNecessary(const FloatPoint&
return FloatPoint(newX, newY);
}
-void ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary()
-{
- bool currentlyConstrainsToContentEdge = m_scrollableArea->constrainsScrollingToContentEdge();
- m_scrollableArea->setConstrainsScrollingToContentEdge(true);
-
- IntPoint currentScrollPosition = absoluteScrollPosition();
- FloatPoint nearestPointWithinBounds = adjustScrollPositionIfNecessary(absoluteScrollPosition());
- immediateScrollBy(nearestPointWithinBounds - currentScrollPosition);
-
- m_scrollableArea->setConstrainsScrollingToContentEdge(currentlyConstrainsToContentEdge);
-}
-
void ScrollAnimatorMac::immediateScrollTo(const FloatPoint& newPosition)
{
FloatPoint adjustedPosition = adjustScrollPositionIfNecessary(newPosition);
@@ -794,15 +760,6 @@ void ScrollAnimatorMac::immediateScrollTo(const FloatPoint& newPosition)
notifyPositionChanged();
}
-bool ScrollAnimatorMac::isRubberBandInProgress() const
-{
-#if !USE(RUBBER_BANDING)
- return false;
-#else
- return m_scrollElasticityController.isRubberBandInProgress();
-#endif
-}
-
void ScrollAnimatorMac::immediateScrollToPointForScrollAnimation(const FloatPoint& newPosition)
{
ASSERT(m_scrollAnimationHelper);
@@ -1076,168 +1033,6 @@ void ScrollAnimatorMac::handleWheelEventPhase(PlatformWheelEventPhase phase)
mayBeginScrollGesture();
}
-#if USE(RUBBER_BANDING)
-ScrollResult ScrollAnimatorMac::handleWheelEvent(const PlatformWheelEvent& wheelEvent)
-{
- m_haveScrolledSincePageLoad = true;
-
- if (!wheelEvent.hasPreciseScrollingDeltas() || !rubberBandingEnabledForSystem() || m_scrollableArea->rubberBandingOnCompositorThread())
- return ScrollAnimator::handleWheelEvent(wheelEvent);
-
- // FIXME: This is somewhat roundabout hack to allow forwarding wheel events
- // up to the parent scrollable area. It takes advantage of the fact that
- // the base class implementation of handleWheelEvent will not accept the
- // wheel event if there is nowhere to scroll.
- if (fabsf(wheelEvent.deltaY()) >= fabsf(wheelEvent.deltaX())) {
- if (!allowsVerticalStretching())
- return ScrollAnimator::handleWheelEvent(wheelEvent);
- } else {
- if (!allowsHorizontalStretching())
- return ScrollAnimator::handleWheelEvent(wheelEvent);
- }
-
- bool didHandleEvent = m_scrollElasticityController.handleWheelEvent(wheelEvent);
-
- // The elasticity controller can return false on a phase end event if rubber banding wasn't in progress.
- // In this case, the wheel phase must still be handled so that that overlay scroll bars get hidden.
- if (didHandleEvent || wheelEvent.phase() == PlatformWheelEventPhaseEnded || wheelEvent.phase() == PlatformWheelEventPhaseCancelled)
- handleWheelEventPhase(wheelEvent.phase());
-
- // Rubber banding in Blink does not exist anymore, so the fact that this does not compute the unused
- // scroll deltas does not matter. This code will be deleted soon.
- return ScrollResult(didHandleEvent);
-}
-
-bool ScrollAnimatorMac::pinnedInDirection(float deltaX, float deltaY)
-{
- FloatSize limitDelta;
- if (fabsf(deltaY) >= fabsf(deltaX)) {
- if (deltaY < 0) {
- // We are trying to scroll up. Make sure we are not pinned to the top
- limitDelta.setHeight(m_scrollableArea->visibleContentRect().y() + + m_scrollableArea->scrollOrigin().y());
- } else {
- // We are trying to scroll down. Make sure we are not pinned to the bottom
- limitDelta.setHeight(m_scrollableArea->contentsSize().height() - (m_scrollableArea->visibleContentRect().maxY() + m_scrollableArea->scrollOrigin().y()));
- }
- } else if (deltaX != 0) {
- if (deltaX < 0) {
- // We are trying to scroll left. Make sure we are not pinned to the left
- limitDelta.setWidth(m_scrollableArea->visibleContentRect().x() + m_scrollableArea->scrollOrigin().x());
- } else {
- // We are trying to scroll right. Make sure we are not pinned to the right
- limitDelta.setWidth(m_scrollableArea->contentsSize().width() - (m_scrollableArea->visibleContentRect().maxX() + m_scrollableArea->scrollOrigin().x()));
- }
- }
-
- if ((deltaX != 0 || deltaY != 0) && (limitDelta.width() < 1 && limitDelta.height() < 1))
- return true;
- return false;
-}
-
-bool ScrollAnimatorMac::allowsVerticalStretching()
-{
- switch (m_scrollableArea->verticalScrollElasticity()) {
- case ScrollElasticityAutomatic: {
- Scrollbar* hScroller = m_scrollableArea->horizontalScrollbar();
- Scrollbar* vScroller = m_scrollableArea->verticalScrollbar();
- return (((vScroller && vScroller->enabled()) || (!hScroller || !hScroller->enabled())));
- }
- case ScrollElasticityNone:
- return false;
- case ScrollElasticityAllowed:
- return true;
- }
-
- ASSERT_NOT_REACHED();
- return false;
-}
-
-bool ScrollAnimatorMac::allowsHorizontalStretching()
-{
- switch (m_scrollableArea->horizontalScrollElasticity()) {
- case ScrollElasticityAutomatic: {
- Scrollbar* hScroller = m_scrollableArea->horizontalScrollbar();
- Scrollbar* vScroller = m_scrollableArea->verticalScrollbar();
- return (((hScroller && hScroller->enabled()) || (!vScroller || !vScroller->enabled())));
- }
- case ScrollElasticityNone:
- return false;
- case ScrollElasticityAllowed:
- return true;
- }
-
- ASSERT_NOT_REACHED();
- return false;
-}
-
-IntSize ScrollAnimatorMac::stretchAmount()
-{
- return m_scrollableArea->overhangAmount();
-}
-
-bool ScrollAnimatorMac::pinnedInDirection(const FloatSize& direction)
-{
- return pinnedInDirection(direction.width(), direction.height());
-}
-
-bool ScrollAnimatorMac::canScrollHorizontally()
-{
- Scrollbar* scrollbar = m_scrollableArea->horizontalScrollbar();
- if (!scrollbar)
- return false;
- return scrollbar->enabled();
-}
-
-bool ScrollAnimatorMac::canScrollVertically()
-{
- Scrollbar* scrollbar = m_scrollableArea->verticalScrollbar();
- if (!scrollbar)
- return false;
- return scrollbar->enabled();
-}
-
-IntPoint ScrollAnimatorMac::absoluteScrollPosition()
-{
- return m_scrollableArea->visibleContentRect().location() + m_scrollableArea->scrollOrigin();
-}
-
-void ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints(const FloatSize& delta)
-{
- m_scrollableArea->setConstrainsScrollingToContentEdge(false);
- immediateScrollBy(delta);
- m_scrollableArea->setConstrainsScrollingToContentEdge(true);
-}
-
-void ScrollAnimatorMac::immediateScrollBy(const FloatSize& delta)
-{
- FloatPoint newPos = adjustScrollPositionIfNecessary(FloatPoint(m_currentPosX, m_currentPosY) + delta);
- if (newPos.x() == m_currentPosX && newPos.y() == m_currentPosY)
- return;
-
- FloatSize adjustedDelta = FloatSize(newPos.x() - m_currentPosX, newPos.y() - m_currentPosY);
-
- m_currentPosX = newPos.x();
- m_currentPosY = newPos.y();
- notifyContentAreaScrolled(adjustedDelta);
- notifyPositionChanged();
-}
-
-void ScrollAnimatorMac::startSnapRubberbandTimer()
-{
- m_snapRubberBandTimer.startRepeating(1.0 / 60.0, FROM_HERE);
-}
-
-void ScrollAnimatorMac::stopSnapRubberbandTimer()
-{
- m_snapRubberBandTimer.stop();
-}
-
-void ScrollAnimatorMac::snapRubberBandTimerFired(Timer<ScrollAnimatorMac>*)
-{
- m_scrollElasticityController.snapRubberBandTimerFired();
-}
-#endif
-
void ScrollAnimatorMac::setIsActive()
{
if (!ScrollbarThemeMacCommon::isOverlayAPIAvailable())
« no previous file with comments | « Source/platform/mac/ScrollAnimatorMac.h ('k') | Source/platform/mac/ScrollElasticityController.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698