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

Side by Side Diff: Source/platform/scroll/ScrollAnimatorNone.cpp

Issue 246293006: Blink Support for Overlay Scrollbar Animation Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: fix unittest and move unittest to blink_platform_unittests Created 6 years, 3 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 unified diff | Download patch
« no previous file with comments | « Source/platform/blink_platform.gypi ('k') | Source/platform/scroll/ScrollableArea.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011, Google Inc. All rights reserved. 2 * Copyright (c) 2011, Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 14 matching lines...) Expand all
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "config.h" 31 #include "config.h"
32 32
33 #include "platform/scroll/ScrollAnimatorNone.h" 33 #include "platform/scroll/ScrollAnimatorNone.h"
34 34
35 #include <algorithm> 35 #include "platform/TraceEvent.h"
36 #include "platform/scroll/ScrollableArea.h" 36 #include "platform/scroll/ScrollableArea.h"
37 #include "wtf/CurrentTime.h" 37 #include "wtf/CurrentTime.h"
38 #include "wtf/PassOwnPtr.h" 38 #include "wtf/PassOwnPtr.h"
39 #include <algorithm>
39 40
40 #include "platform/TraceEvent.h" 41 #include "platform/TraceEvent.h"
41 42
42 namespace blink { 43 namespace {
43 44
44 const double kFrameRate = 60; 45 const double kFrameRate = 60;
45 const double kTickTime = 1 / kFrameRate; 46 const double kTickTime = 1 / kFrameRate;
46 const double kMinimumTimerInterval = .001; 47 const double kMinimumTimerInterval = .001;
47 48
49 } // namespace
50
51 namespace blink {
52
48 PassOwnPtr<ScrollAnimator> ScrollAnimator::create(ScrollableArea* scrollableArea ) 53 PassOwnPtr<ScrollAnimator> ScrollAnimator::create(ScrollableArea* scrollableArea )
49 { 54 {
50 if (scrollableArea && scrollableArea->scrollAnimatorEnabled()) 55 if (scrollableArea && scrollableArea->scrollAnimatorEnabled())
51 return adoptPtr(new ScrollAnimatorNone(scrollableArea)); 56 return adoptPtr(new ScrollAnimatorNone(scrollableArea));
52 return adoptPtr(new ScrollAnimator(scrollableArea)); 57 return adoptPtr(new ScrollAnimator(scrollableArea));
53 } 58 }
54 59
55 ScrollAnimatorNone::Parameters::Parameters() 60 ScrollAnimatorNone::Parameters::Parameters()
56 : m_isEnabled(false) 61 : m_isEnabled(false)
57 { 62 {
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 m_verticalData.updateVisibleLength(scrollableArea()->visibleHeight()); 486 m_verticalData.updateVisibleLength(scrollableArea()->visibleHeight());
482 } 487 }
483 488
484 void ScrollAnimatorNone::animationTimerFired() 489 void ScrollAnimatorNone::animationTimerFired()
485 { 490 {
486 TRACE_EVENT0("blink", "ScrollAnimatorNone::animationTimerFired"); 491 TRACE_EVENT0("blink", "ScrollAnimatorNone::animationTimerFired");
487 492
488 double currentTime = WTF::monotonicallyIncreasingTime(); 493 double currentTime = WTF::monotonicallyIncreasingTime();
489 494
490 bool continueAnimation = false; 495 bool continueAnimation = false;
496
491 if (m_horizontalData.m_startTime && m_horizontalData.animateScroll(currentTi me)) 497 if (m_horizontalData.m_startTime && m_horizontalData.animateScroll(currentTi me))
492 continueAnimation = true; 498 continueAnimation = true;
493 if (m_verticalData.m_startTime && m_verticalData.animateScroll(currentTime)) 499 if (m_verticalData.m_startTime && m_verticalData.animateScroll(currentTime))
494 continueAnimation = true; 500 continueAnimation = true;
495 501
496 if (continueAnimation) 502 if (continueAnimation)
497 startNextTimer(); 503 startNextTimer();
498 else 504 else
499 m_animationActive = false; 505 m_animationActive = false;
500 506
(...skipping 15 matching lines...) Expand all
516 return m_animationActive; 522 return m_animationActive;
517 } 523 }
518 524
519 void ScrollAnimatorNone::stopAnimationTimerIfNeeded() 525 void ScrollAnimatorNone::stopAnimationTimerIfNeeded()
520 { 526 {
521 if (animationTimerActive()) 527 if (animationTimerActive())
522 m_animationActive = false; 528 m_animationActive = false;
523 } 529 }
524 530
525 } // namespace blink 531 } // namespace blink
OLDNEW
« no previous file with comments | « Source/platform/blink_platform.gypi ('k') | Source/platform/scroll/ScrollableArea.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698