| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010, 2011 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 | 593 |
| 594 PassOwnPtr<ScrollAnimator> ScrollAnimator::create(ScrollableArea* scrollableArea
) | 594 PassOwnPtr<ScrollAnimator> ScrollAnimator::create(ScrollableArea* scrollableArea
) |
| 595 { | 595 { |
| 596 return adoptPtr(new ScrollAnimatorMac(scrollableArea)); | 596 return adoptPtr(new ScrollAnimatorMac(scrollableArea)); |
| 597 } | 597 } |
| 598 | 598 |
| 599 ScrollAnimatorMac::ScrollAnimatorMac(ScrollableArea* scrollableArea) | 599 ScrollAnimatorMac::ScrollAnimatorMac(ScrollableArea* scrollableArea) |
| 600 : ScrollAnimator(scrollableArea) | 600 : ScrollAnimator(scrollableArea) |
| 601 , m_initialScrollbarPaintTimer(this, &ScrollAnimatorMac::initialScrollbarPai
ntTimerFired) | 601 , m_initialScrollbarPaintTimer(this, &ScrollAnimatorMac::initialScrollbarPai
ntTimerFired) |
| 602 , m_sendContentAreaScrolledTimer(this, &ScrollAnimatorMac::sendContentAreaSc
rolledTimerFired) | 602 , m_sendContentAreaScrolledTimer(this, &ScrollAnimatorMac::sendContentAreaSc
rolledTimerFired) |
| 603 #if ENABLE(RUBBER_BANDING) | 603 #if USE(RUBBER_BANDING) |
| 604 , m_scrollElasticityController(this) | 604 , m_scrollElasticityController(this) |
| 605 , m_snapRubberBandTimer(this, &ScrollAnimatorMac::snapRubberBandTimerFired) | 605 , m_snapRubberBandTimer(this, &ScrollAnimatorMac::snapRubberBandTimerFired) |
| 606 #endif | 606 #endif |
| 607 , m_haveScrolledSincePageLoad(false) | 607 , m_haveScrolledSincePageLoad(false) |
| 608 , m_needsScrollerStyleUpdate(false) | 608 , m_needsScrollerStyleUpdate(false) |
| 609 { | 609 { |
| 610 m_scrollAnimationHelperDelegate.adoptNS([[WebScrollAnimationHelperDelegate a
lloc] initWithScrollAnimator:this]); | 610 m_scrollAnimationHelperDelegate.adoptNS([[WebScrollAnimationHelperDelegate a
lloc] initWithScrollAnimator:this]); |
| 611 m_scrollAnimationHelper.adoptNS([[NSClassFromString(@"NSScrollAnimationHelpe
r") alloc] initWithDelegate:m_scrollAnimationHelperDelegate.get()]); | 611 m_scrollAnimationHelper.adoptNS([[NSClassFromString(@"NSScrollAnimationHelpe
r") alloc] initWithDelegate:m_scrollAnimationHelperDelegate.get()]); |
| 612 | 612 |
| 613 if (isScrollbarOverlayAPIAvailable()) { | 613 if (isScrollbarOverlayAPIAvailable()) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 632 } | 632 } |
| 633 | 633 |
| 634 static bool scrollAnimationEnabledForSystem() | 634 static bool scrollAnimationEnabledForSystem() |
| 635 { | 635 { |
| 636 NSString* scrollAnimationDefaultsKey = | 636 NSString* scrollAnimationDefaultsKey = |
| 637 @"AppleScrollAnimationEnabled"; | 637 @"AppleScrollAnimationEnabled"; |
| 638 static bool enabled = [[NSUserDefaults standardUserDefaults] boolForKey:scro
llAnimationDefaultsKey]; | 638 static bool enabled = [[NSUserDefaults standardUserDefaults] boolForKey:scro
llAnimationDefaultsKey]; |
| 639 return enabled; | 639 return enabled; |
| 640 } | 640 } |
| 641 | 641 |
| 642 #if ENABLE(RUBBER_BANDING) | 642 #if USE(RUBBER_BANDING) |
| 643 static bool rubberBandingEnabledForSystem() | 643 static bool rubberBandingEnabledForSystem() |
| 644 { | 644 { |
| 645 static bool initialized = false; | 645 static bool initialized = false; |
| 646 static bool enabled = true; | 646 static bool enabled = true; |
| 647 // Caches the result, which is consistent with other apps like the Finder, w
hich all | 647 // Caches the result, which is consistent with other apps like the Finder, w
hich all |
| 648 // require a restart after changing this default. | 648 // require a restart after changing this default. |
| 649 if (!initialized) { | 649 if (!initialized) { |
| 650 // Uses -objectForKey: and not -boolForKey: in order to default to true
if the value wasn't set. | 650 // Uses -objectForKey: and not -boolForKey: in order to default to true
if the value wasn't set. |
| 651 id value = [[NSUserDefaults standardUserDefaults] objectForKey:@"NSScrol
lViewRubberbanding"]; | 651 id value = [[NSUserDefaults standardUserDefaults] objectForKey:@"NSScrol
lViewRubberbanding"]; |
| 652 if ([value isKindOfClass:[NSNumber class]]) | 652 if ([value isKindOfClass:[NSNumber class]]) |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 713 | 713 |
| 714 FloatSize delta = FloatSize(adjustedPosition.x() - m_currentPosX, adjustedPo
sition.y() - m_currentPosY); | 714 FloatSize delta = FloatSize(adjustedPosition.x() - m_currentPosX, adjustedPo
sition.y() - m_currentPosY); |
| 715 | 715 |
| 716 m_currentPosX = adjustedPosition.x(); | 716 m_currentPosX = adjustedPosition.x(); |
| 717 m_currentPosY = adjustedPosition.y(); | 717 m_currentPosY = adjustedPosition.y(); |
| 718 notifyPositionChanged(delta); | 718 notifyPositionChanged(delta); |
| 719 } | 719 } |
| 720 | 720 |
| 721 bool ScrollAnimatorMac::isRubberBandInProgress() const | 721 bool ScrollAnimatorMac::isRubberBandInProgress() const |
| 722 { | 722 { |
| 723 #if !ENABLE(RUBBER_BANDING) | 723 #if !USE(RUBBER_BANDING) |
| 724 return false; | 724 return false; |
| 725 #else | 725 #else |
| 726 return m_scrollElasticityController.isRubberBandInProgress(); | 726 return m_scrollElasticityController.isRubberBandInProgress(); |
| 727 #endif | 727 #endif |
| 728 } | 728 } |
| 729 | 729 |
| 730 void ScrollAnimatorMac::immediateScrollToPointForScrollAnimation(const FloatPoin
t& newPosition) | 730 void ScrollAnimatorMac::immediateScrollToPointForScrollAnimation(const FloatPoin
t& newPosition) |
| 731 { | 731 { |
| 732 ASSERT(m_scrollAnimationHelper); | 732 ASSERT(m_scrollAnimationHelper); |
| 733 immediateScrollTo(newPosition); | 733 immediateScrollTo(newPosition); |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 999 m_haveScrolledSincePageLoad = true; | 999 m_haveScrolledSincePageLoad = true; |
| 1000 | 1000 |
| 1001 if (phase == PlatformWheelEventPhaseBegan) | 1001 if (phase == PlatformWheelEventPhaseBegan) |
| 1002 didBeginScrollGesture(); | 1002 didBeginScrollGesture(); |
| 1003 else if (phase == PlatformWheelEventPhaseEnded || phase == PlatformWheelEven
tPhaseCancelled) | 1003 else if (phase == PlatformWheelEventPhaseEnded || phase == PlatformWheelEven
tPhaseCancelled) |
| 1004 didEndScrollGesture(); | 1004 didEndScrollGesture(); |
| 1005 else if (phase == PlatformWheelEventPhaseMayBegin) | 1005 else if (phase == PlatformWheelEventPhaseMayBegin) |
| 1006 mayBeginScrollGesture(); | 1006 mayBeginScrollGesture(); |
| 1007 } | 1007 } |
| 1008 | 1008 |
| 1009 #if ENABLE(RUBBER_BANDING) | 1009 #if USE(RUBBER_BANDING) |
| 1010 bool ScrollAnimatorMac::handleWheelEvent(const PlatformWheelEvent& wheelEvent) | 1010 bool ScrollAnimatorMac::handleWheelEvent(const PlatformWheelEvent& wheelEvent) |
| 1011 { | 1011 { |
| 1012 m_haveScrolledSincePageLoad = true; | 1012 m_haveScrolledSincePageLoad = true; |
| 1013 | 1013 |
| 1014 if (!wheelEvent.hasPreciseScrollingDeltas() || !rubberBandingEnabledForSyste
m()) | 1014 if (!wheelEvent.hasPreciseScrollingDeltas() || !rubberBandingEnabledForSyste
m()) |
| 1015 return ScrollAnimator::handleWheelEvent(wheelEvent); | 1015 return ScrollAnimator::handleWheelEvent(wheelEvent); |
| 1016 | 1016 |
| 1017 // FIXME: This is somewhat roundabout hack to allow forwarding wheel events | 1017 // FIXME: This is somewhat roundabout hack to allow forwarding wheel events |
| 1018 // up to the parent scrollable area. It takes advantage of the fact that | 1018 // up to the parent scrollable area. It takes advantage of the fact that |
| 1019 // the base class implementation of handleWheelEvent will not accept the | 1019 // the base class implementation of handleWheelEvent will not accept the |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1294 return; | 1294 return; |
| 1295 | 1295 |
| 1296 m_visibleScrollerThumbRect = rectInViewCoordinates; | 1296 m_visibleScrollerThumbRect = rectInViewCoordinates; |
| 1297 } | 1297 } |
| 1298 | 1298 |
| 1299 bool ScrollAnimatorMac::canUseCoordinatedScrollbar() { | 1299 bool ScrollAnimatorMac::canUseCoordinatedScrollbar() { |
| 1300 return isScrollbarOverlayAPIAvailable(); | 1300 return isScrollbarOverlayAPIAvailable(); |
| 1301 } | 1301 } |
| 1302 | 1302 |
| 1303 } // namespace WebCore | 1303 } // namespace WebCore |
| OLD | NEW |