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

Side by Side Diff: ui/compositor/layer_animation_element.cc

Issue 2550933002: Make all LayerAnimationElement::Create*Element return unique_ptr (Closed)
Patch Set: Complete inclusion Created 4 years 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/compositor/layer_animation_element.h" 5 #include "ui/compositor/layer_animation_element.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ptr_util.h"
11 #include "cc/animation/animation.h" 12 #include "cc/animation/animation.h"
12 #include "cc/animation/animation_id_provider.h" 13 #include "cc/animation/animation_id_provider.h"
13 #include "ui/compositor/float_animation_curve_adapter.h" 14 #include "ui/compositor/float_animation_curve_adapter.h"
14 #include "ui/compositor/layer.h" 15 #include "ui/compositor/layer.h"
15 #include "ui/compositor/layer_animation_delegate.h" 16 #include "ui/compositor/layer_animation_delegate.h"
16 #include "ui/compositor/layer_animator.h" 17 #include "ui/compositor/layer_animator.h"
17 #include "ui/compositor/scoped_animation_duration_scale_mode.h" 18 #include "ui/compositor/scoped_animation_duration_scale_mode.h"
18 #include "ui/compositor/transform_animation_curve_adapter.h" 19 #include "ui/compositor/transform_animation_curve_adapter.h"
19 #include "ui/gfx/animation/tween.h" 20 #include "ui/gfx/animation/tween.h"
20 #include "ui/gfx/interpolated_transform.h" 21 #include "ui/gfx/interpolated_transform.h"
(...skipping 24 matching lines...) Expand all
45 void OnGetTarget(TargetValue* target) const override {} 46 void OnGetTarget(TargetValue* target) const override {}
46 void OnAbort(LayerAnimationDelegate* delegate) override {} 47 void OnAbort(LayerAnimationDelegate* delegate) override {}
47 48
48 DISALLOW_COPY_AND_ASSIGN(Pause); 49 DISALLOW_COPY_AND_ASSIGN(Pause);
49 }; 50 };
50 51
51 // InterpolatedTransformTransition --------------------------------------------- 52 // InterpolatedTransformTransition ---------------------------------------------
52 53
53 class InterpolatedTransformTransition : public LayerAnimationElement { 54 class InterpolatedTransformTransition : public LayerAnimationElement {
54 public: 55 public:
55 InterpolatedTransformTransition(InterpolatedTransform* interpolated_transform, 56 InterpolatedTransformTransition(
56 base::TimeDelta duration) 57 std::unique_ptr<InterpolatedTransform> interpolated_transform,
58 base::TimeDelta duration)
57 : LayerAnimationElement(TRANSFORM, duration), 59 : LayerAnimationElement(TRANSFORM, duration),
58 interpolated_transform_(interpolated_transform) { 60 interpolated_transform_(std::move(interpolated_transform)) {}
59 }
60 ~InterpolatedTransformTransition() override {} 61 ~InterpolatedTransformTransition() override {}
61 62
62 protected: 63 protected:
63 void OnStart(LayerAnimationDelegate* delegate) override {} 64 void OnStart(LayerAnimationDelegate* delegate) override {}
64 65
65 bool OnProgress(double t, LayerAnimationDelegate* delegate) override { 66 bool OnProgress(double t, LayerAnimationDelegate* delegate) override {
66 delegate->SetTransformFromAnimation( 67 delegate->SetTransformFromAnimation(
67 interpolated_transform_->Interpolate(static_cast<float>(t))); 68 interpolated_transform_->Interpolate(static_cast<float>(t)));
68 return true; 69 return true;
69 } 70 }
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 return duration / kNonZeroDurationScaleDivisor; 592 return duration / kNonZeroDurationScaleDivisor;
592 case ScopedAnimationDurationScaleMode::ZERO_DURATION: 593 case ScopedAnimationDurationScaleMode::ZERO_DURATION:
593 return base::TimeDelta(); 594 return base::TimeDelta();
594 default: 595 default:
595 NOTREACHED(); 596 NOTREACHED();
596 return base::TimeDelta(); 597 return base::TimeDelta();
597 } 598 }
598 } 599 }
599 600
600 // static 601 // static
601 LayerAnimationElement* LayerAnimationElement::CreateTransformElement( 602 std::unique_ptr<LayerAnimationElement>
602 const gfx::Transform& transform, 603 LayerAnimationElement::CreateTransformElement(const gfx::Transform& transform,
603 base::TimeDelta duration) { 604 base::TimeDelta duration) {
604 return new ThreadedTransformTransition(transform, duration); 605 return base::MakeUnique<ThreadedTransformTransition>(transform, duration);
605 } 606 }
606 607
607 // static 608 // static
608 LayerAnimationElement* 609 std::unique_ptr<LayerAnimationElement>
609 LayerAnimationElement::CreateInterpolatedTransformElement( 610 LayerAnimationElement::CreateInterpolatedTransformElement(
610 InterpolatedTransform* interpolated_transform, 611 std::unique_ptr<InterpolatedTransform> interpolated_transform,
611 base::TimeDelta duration) { 612 base::TimeDelta duration) {
612 return new InterpolatedTransformTransition(interpolated_transform, duration); 613 return base::MakeUnique<InterpolatedTransformTransition>(
614 std::move(interpolated_transform), duration);
613 } 615 }
614 616
615 // static 617 // static
616 LayerAnimationElement* LayerAnimationElement::CreateBoundsElement( 618 std::unique_ptr<LayerAnimationElement>
617 const gfx::Rect& bounds, 619 LayerAnimationElement::CreateBoundsElement(const gfx::Rect& bounds,
618 base::TimeDelta duration) { 620 base::TimeDelta duration) {
619 return new BoundsTransition(bounds, duration); 621 return base::MakeUnique<BoundsTransition>(bounds, duration);
620 } 622 }
621 623
622 // static 624 // static
623 LayerAnimationElement* LayerAnimationElement::CreateOpacityElement( 625 std::unique_ptr<LayerAnimationElement>
624 float opacity, 626 LayerAnimationElement::CreateOpacityElement(float opacity,
625 base::TimeDelta duration) { 627 base::TimeDelta duration) {
626 return new ThreadedOpacityTransition(opacity, duration); 628 return base::MakeUnique<ThreadedOpacityTransition>(opacity, duration);
627 } 629 }
628 630
629 // static 631 // static
630 LayerAnimationElement* LayerAnimationElement::CreateVisibilityElement( 632 std::unique_ptr<LayerAnimationElement>
631 bool visibility, 633 LayerAnimationElement::CreateVisibilityElement(bool visibility,
632 base::TimeDelta duration) { 634 base::TimeDelta duration) {
633 return new VisibilityTransition(visibility, duration); 635 return base::MakeUnique<VisibilityTransition>(visibility, duration);
634 } 636 }
635 637
636 // static 638 // static
637 LayerAnimationElement* LayerAnimationElement::CreateBrightnessElement( 639 std::unique_ptr<LayerAnimationElement>
638 float brightness, 640 LayerAnimationElement::CreateBrightnessElement(float brightness,
639 base::TimeDelta duration) { 641 base::TimeDelta duration) {
640 return new BrightnessTransition(brightness, duration); 642 return base::MakeUnique<BrightnessTransition>(brightness, duration);
641 } 643 }
642 644
643 // static 645 // static
644 LayerAnimationElement* LayerAnimationElement::CreateGrayscaleElement( 646 std::unique_ptr<LayerAnimationElement>
645 float grayscale, 647 LayerAnimationElement::CreateGrayscaleElement(float grayscale,
646 base::TimeDelta duration) { 648 base::TimeDelta duration) {
647 return new GrayscaleTransition(grayscale, duration); 649 return base::MakeUnique<GrayscaleTransition>(grayscale, duration);
648 } 650 }
649 651
650 // static 652 // static
651 LayerAnimationElement* LayerAnimationElement::CreatePauseElement( 653 std::unique_ptr<LayerAnimationElement>
652 AnimatableProperties properties, 654 LayerAnimationElement::CreatePauseElement(AnimatableProperties properties,
653 base::TimeDelta duration) { 655 base::TimeDelta duration) {
654 return new Pause(properties, duration); 656 return base::MakeUnique<Pause>(properties, duration);
655 } 657 }
656 658
657 // static 659 // static
658 LayerAnimationElement* LayerAnimationElement::CreateColorElement( 660 std::unique_ptr<LayerAnimationElement>
659 SkColor color, 661 LayerAnimationElement::CreateColorElement(SkColor color,
660 base::TimeDelta duration) { 662 base::TimeDelta duration) {
661 return new ColorTransition(color, duration); 663 return base::MakeUnique<ColorTransition>(color, duration);
662 } 664 }
663 665
664 } // namespace ui 666 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698