Title: [102462] trunk/Source/WebCore
- Revision
- 102462
- Author
- [email protected]
- Date
- 2011-12-09 12:15:08 -0800 (Fri, 09 Dec 2011)
Log Message
Remove duplicate animation ivars
https://bugs.webkit.org/show_bug.cgi?id=74194
Reviewed by Sam Weinig.
Since we now have one WebScrollbarPainterDelegate for each scrollbar, we no longer need separate
vertical/horizontal animation objects, so get rid of them.
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterDelegate cancelAnimations]):
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (102461 => 102462)
--- trunk/Source/WebCore/ChangeLog 2011-12-09 19:48:46 UTC (rev 102461)
+++ trunk/Source/WebCore/ChangeLog 2011-12-09 20:15:08 UTC (rev 102462)
@@ -1,5 +1,22 @@
2011-12-09 Anders Carlsson <[email protected]>
+ Remove duplicate animation ivars
+ https://bugs.webkit.org/show_bug.cgi?id=74194
+
+ Reviewed by Sam Weinig.
+
+ Since we now have one WebScrollbarPainterDelegate for each scrollbar, we no longer need separate
+ vertical/horizontal animation objects, so get rid of them.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[WebScrollbarPainterDelegate cancelAnimations]):
+ (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+ (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+ (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
+ (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
+
+2011-12-09 Anders Carlsson <[email protected]>
+
WebScrollbarPartAnimation should only know about the scrollbar it's animating
https://bugs.webkit.org/show_bug.cgi?id=74192
Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (102461 => 102462)
--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm 2011-12-09 19:48:46 UTC (rev 102461)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm 2011-12-09 20:15:08 UTC (rev 102462)
@@ -361,14 +361,9 @@
{
WebCore::Scrollbar* _scrollbar;
- RetainPtr<WebScrollbarPartAnimation> _verticalKnobAnimation;
- RetainPtr<WebScrollbarPartAnimation> _horizontalKnobAnimation;
-
- RetainPtr<WebScrollbarPartAnimation> _verticalTrackAnimation;
- RetainPtr<WebScrollbarPartAnimation> _horizontalTrackAnimation;
-
- RetainPtr<WebScrollbarPartAnimation> _verticalUIStateTransitionAnimation;
- RetainPtr<WebScrollbarPartAnimation> _horizontalUIStateTransitionAnimation;
+ RetainPtr<WebScrollbarPartAnimation> _knobAlphaAnimation;
+ RetainPtr<WebScrollbarPartAnimation> _trackAlphaAnimation;
+ RetainPtr<WebScrollbarPartAnimation> _uiStateTransitionAnimation;
}
- (id)initWithScrollbar:(WebCore::Scrollbar*)scrollbar;
- (void)cancelAnimations;
@@ -389,12 +384,9 @@
- (void)cancelAnimations
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [_verticalKnobAnimation.get() stopAnimation];
- [_horizontalKnobAnimation.get() stopAnimation];
- [_verticalTrackAnimation.get() stopAnimation];
- [_horizontalTrackAnimation.get() stopAnimation];
- [_verticalUIStateTransitionAnimation.get() stopAnimation];
- [_horizontalUIStateTransitionAnimation.get() stopAnimation];
+ [_knobAlphaAnimation.get() stopAnimation];
+ [_trackAlphaAnimation.get() stopAnimation];
+ [_uiStateTransitionAnimation.get() stopAnimation];
END_BLOCK_OBJC_EXCEPTIONS;
}
@@ -491,11 +483,10 @@
if (!_scrollbar)
return;
+ ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
+
ScrollbarPainter scrollerPainter = (ScrollbarPainter)scrollerImp;
- if ([scrollerImp isHorizontal])
- [self setUpAlphaAnimation:_horizontalKnobAnimation scrollerPainter:scrollerPainter part:WebCore::ThumbPart animateAlphaTo:newKnobAlpha duration:duration];
- else
- [self setUpAlphaAnimation:_verticalKnobAnimation scrollerPainter:scrollerPainter part:WebCore::ThumbPart animateAlphaTo:newKnobAlpha duration:duration];
+ [self setUpAlphaAnimation:_knobAlphaAnimation scrollerPainter:scrollerPainter part:WebCore::ThumbPart animateAlphaTo:newKnobAlpha duration:duration];
}
- (void)scrollerImp:(id)scrollerImp animateTrackAlphaTo:(CGFloat)newTrackAlpha duration:(NSTimeInterval)duration
@@ -503,11 +494,10 @@
if (!_scrollbar)
return;
+ ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
+
ScrollbarPainter scrollerPainter = (ScrollbarPainter)scrollerImp;
- if ([scrollerImp isHorizontal])
- [self setUpAlphaAnimation:_horizontalTrackAnimation scrollerPainter:scrollerPainter part:WebCore::BackTrackPart animateAlphaTo:newTrackAlpha duration:duration];
- else
- [self setUpAlphaAnimation:_verticalTrackAnimation scrollerPainter:scrollerPainter part:WebCore::BackTrackPart animateAlphaTo:newTrackAlpha duration:duration];
+ [self setUpAlphaAnimation:_trackAlphaAnimation scrollerPainter:scrollerPainter part:WebCore::BackTrackPart animateAlphaTo:newTrackAlpha duration:duration];
}
- (void)scrollerImp:(id)scrollerImp animateUIStateTransitionWithDuration:(NSTimeInterval)duration
@@ -518,27 +508,28 @@
if (!supportsUIStateTransitionProgress())
return;
+ ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
+
ScrollbarPainter scrollerPainter = (ScrollbarPainter)scrollerImp;
- RetainPtr<WebScrollbarPartAnimation> scrollbarPartAnimation = [scrollerPainter isHorizontal] ? _horizontalUIStateTransitionAnimation : _verticalUIStateTransitionAnimation;
// UIStateTransition always animates to 1. In case an animation is in progress this avoids a hard transition.
[scrollerPainter setUiStateTransitionProgress:1 - [scrollerPainter uiStateTransitionProgress]];
[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setDuration:duration];
- if (!scrollbarPartAnimation)
- scrollbarPartAnimation.adoptNS([[WebScrollbarPartAnimation alloc] initWithScrollbar:_scrollbar
- featureToAnimate:UIStateTransition
- animateFrom:[scrollerPainter uiStateTransitionProgress]
- animateTo:1.0
- duration:duration]);
+ if (!_uiStateTransitionAnimation)
+ _uiStateTransitionAnimation.adoptNS([[WebScrollbarPartAnimation alloc] initWithScrollbar:_scrollbar
+ featureToAnimate:UIStateTransition
+ animateFrom:[scrollerPainter uiStateTransitionProgress]
+ animateTo:1.0
+ duration:duration]);
else {
// If we don't need to initialize the animation, just reset the values in case they have changed.
- [scrollbarPartAnimation.get() setStartValue:[scrollerPainter uiStateTransitionProgress]];
- [scrollbarPartAnimation.get() setEndValue:1.0];
- [scrollbarPartAnimation.get() setDuration:duration];
+ [_uiStateTransitionAnimation.get() setStartValue:[scrollerPainter uiStateTransitionProgress]];
+ [_uiStateTransitionAnimation.get() setEndValue:1.0];
+ [_uiStateTransitionAnimation.get() setDuration:duration];
}
- [scrollbarPartAnimation.get() startAnimation];
+ [_uiStateTransitionAnimation.get() startAnimation];
[NSAnimationContext endGrouping];
}
@@ -552,12 +543,9 @@
{
_scrollbar = 0;
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [_verticalKnobAnimation.get() scrollAnimatorDestroyed];
- [_horizontalKnobAnimation.get() scrollAnimatorDestroyed];
- [_verticalTrackAnimation.get() scrollAnimatorDestroyed];
- [_horizontalTrackAnimation.get() scrollAnimatorDestroyed];
- [_verticalUIStateTransitionAnimation.get() scrollAnimatorDestroyed];
- [_horizontalUIStateTransitionAnimation.get() scrollAnimatorDestroyed];
+ [_knobAlphaAnimation.get() scrollAnimatorDestroyed];
+ [_trackAlphaAnimation.get() scrollAnimatorDestroyed];
+ [_uiStateTransitionAnimation.get() scrollAnimatorDestroyed];
END_BLOCK_OBJC_EXCEPTIONS;
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes