| OLD | NEW |
| 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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 // If the current run state is WaitingToSendToCompositor but we have a | 279 // If the current run state is WaitingToSendToCompositor but we have a |
| 280 // non-zero compositor animation id, there's a currently running | 280 // non-zero compositor animation id, there's a currently running |
| 281 // compositor animation that needs to be removed here before the new | 281 // compositor animation that needs to be removed here before the new |
| 282 // animation is added below. | 282 // animation is added below. |
| 283 ASSERT(m_runState == RunState::WaitingToCancelOnCompositor | 283 ASSERT(m_runState == RunState::WaitingToCancelOnCompositor |
| 284 || m_runState == RunState::WaitingToSendToCompositor | 284 || m_runState == RunState::WaitingToSendToCompositor |
| 285 || m_runState == RunState::RunningOnCompositorButNeedsTakeover); | 285 || m_runState == RunState::RunningOnCompositorButNeedsTakeover); |
| 286 | 286 |
| 287 if (m_runState == RunState::RunningOnCompositorButNeedsTakeover) { | 287 if (m_runState == RunState::RunningOnCompositorButNeedsTakeover) { |
| 288 // The animation is already aborted when the call to | 288 // The animation is already aborted when the call to |
| 289 // ::takeoverCompositorAnimation is made. | 289 // ::takeOverCompositorAnimation is made. |
| 290 m_runState = RunState::WaitingToSendToCompositor; | 290 m_runState = RunState::WaitingToSendToCompositor; |
| 291 } else { | 291 } else { |
| 292 abortAnimation(); | 292 abortAnimation(); |
| 293 } | 293 } |
| 294 | 294 |
| 295 m_compositorAnimationId = 0; | 295 m_compositorAnimationId = 0; |
| 296 m_compositorAnimationGroupId = 0; | 296 m_compositorAnimationGroupId = 0; |
| 297 if (m_runState == RunState::WaitingToCancelOnCompositor) { | 297 if (m_runState == RunState::WaitingToCancelOnCompositor) { |
| 298 postAnimationCleanupAndReset(); | 298 postAnimationCleanupAndReset(); |
| 299 return; | 299 return; |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 std::move(scrollOffsetAnimationCurve))); | 394 std::move(scrollOffsetAnimationCurve))); |
| 395 m_startTime = animationStartTime; | 395 m_startTime = animationStartTime; |
| 396 } | 396 } |
| 397 } | 397 } |
| 398 | 398 |
| 399 void ScrollAnimator::cancelAnimation() | 399 void ScrollAnimator::cancelAnimation() |
| 400 { | 400 { |
| 401 ScrollAnimatorCompositorCoordinator::cancelAnimation(); | 401 ScrollAnimatorCompositorCoordinator::cancelAnimation(); |
| 402 } | 402 } |
| 403 | 403 |
| 404 void ScrollAnimator::takeoverCompositorAnimation() | 404 void ScrollAnimator::takeOverCompositorAnimation() |
| 405 { | 405 { |
| 406 if (m_runState == RunState::RunningOnCompositor | 406 if (m_runState == RunState::RunningOnCompositor |
| 407 || m_runState == RunState::RunningOnCompositorButNeedsUpdate) | 407 || m_runState == RunState::RunningOnCompositorButNeedsUpdate) |
| 408 removeMainThreadScrollingReason(); | 408 removeMainThreadScrollingReason(); |
| 409 | 409 |
| 410 ScrollAnimatorCompositorCoordinator::takeoverCompositorAnimation(); | 410 ScrollAnimatorCompositorCoordinator::takeOverCompositorAnimation(); |
| 411 } | 411 } |
| 412 | 412 |
| 413 void ScrollAnimator::layerForCompositedScrollingDidChange( | 413 void ScrollAnimator::layerForCompositedScrollingDidChange( |
| 414 CompositorAnimationTimeline* timeline) | 414 CompositorAnimationTimeline* timeline) |
| 415 { | 415 { |
| 416 if (reattachCompositorPlayerIfNeeded(timeline) && m_animationCurve) | 416 if (reattachCompositorPlayerIfNeeded(timeline) && m_animationCurve) |
| 417 addMainThreadScrollingReason(); | 417 addMainThreadScrollingReason(); |
| 418 } | 418 } |
| 419 | 419 |
| 420 bool ScrollAnimator::registerAndScheduleAnimation() | 420 bool ScrollAnimator::registerAndScheduleAnimation() |
| 421 { | 421 { |
| 422 getScrollableArea()->registerForAnimation(); | 422 getScrollableArea()->registerForAnimation(); |
| 423 if (!m_scrollableArea->scheduleAnimation()) { | 423 if (!m_scrollableArea->scheduleAnimation()) { |
| 424 scrollToOffsetWithoutAnimation(m_targetOffset); | 424 scrollToOffsetWithoutAnimation(m_targetOffset); |
| 425 resetAnimationState(); | 425 resetAnimationState(); |
| 426 return false; | 426 return false; |
| 427 } | 427 } |
| 428 return true; | 428 return true; |
| 429 } | 429 } |
| 430 | 430 |
| 431 DEFINE_TRACE(ScrollAnimator) | 431 DEFINE_TRACE(ScrollAnimator) |
| 432 { | 432 { |
| 433 ScrollAnimatorBase::trace(visitor); | 433 ScrollAnimatorBase::trace(visitor); |
| 434 } | 434 } |
| 435 | 435 |
| 436 } // namespace blink | 436 } // namespace blink |
| OLD | NEW |