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

Side by Side Diff: cc/animation/animation_host_unittest.cc

Issue 1950243005: Communicate MT changes to impl-only scroll offset animations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address review comments Created 4 years, 7 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "cc/animation/animation_host.h" 5 #include "cc/animation/animation_host.h"
6 6
7 #include "cc/animation/animation_id_provider.h" 7 #include "cc/animation/animation_id_provider.h"
8 #include "cc/animation/animation_timeline.h" 8 #include "cc/animation/animation_timeline.h"
9 #include "cc/test/animation_test_common.h" 9 #include "cc/test/animation_test_common.h"
10 #include "cc/test/animation_timelines_test_common.h" 10 #include "cc/test/animation_timelines_test_common.h"
(...skipping 19 matching lines...) Expand all
30 AnimationHost::Create(ThreadInstance::IMPL)); 30 AnimationHost::Create(ThreadInstance::IMPL));
31 31
32 const int timeline_id = AnimationIdProvider::NextTimelineId(); 32 const int timeline_id = AnimationIdProvider::NextTimelineId();
33 scoped_refptr<AnimationTimeline> timeline( 33 scoped_refptr<AnimationTimeline> timeline(
34 AnimationTimeline::Create(timeline_id)); 34 AnimationTimeline::Create(timeline_id));
35 host->AddAnimationTimeline(timeline.get()); 35 host->AddAnimationTimeline(timeline.get());
36 EXPECT_TRUE(timeline->animation_host()); 36 EXPECT_TRUE(timeline->animation_host());
37 37
38 EXPECT_FALSE(host_impl->GetTimelineById(timeline_id)); 38 EXPECT_FALSE(host_impl->GetTimelineById(timeline_id));
39 39
40 host->PushPropertiesTo(host_impl.get()); 40 host->PushPropertiesTo(host_impl.get(), base::TimeTicks());
41 41
42 scoped_refptr<AnimationTimeline> timeline_impl = 42 scoped_refptr<AnimationTimeline> timeline_impl =
43 host_impl->GetTimelineById(timeline_id); 43 host_impl->GetTimelineById(timeline_id);
44 EXPECT_TRUE(timeline_impl); 44 EXPECT_TRUE(timeline_impl);
45 EXPECT_EQ(timeline_impl->id(), timeline_id); 45 EXPECT_EQ(timeline_impl->id(), timeline_id);
46 46
47 host->PushPropertiesTo(host_impl.get()); 47 host->PushPropertiesTo(host_impl.get(), base::TimeTicks());
48 EXPECT_EQ(timeline_impl, host_impl->GetTimelineById(timeline_id)); 48 EXPECT_EQ(timeline_impl, host_impl->GetTimelineById(timeline_id));
49 49
50 host->RemoveAnimationTimeline(timeline.get()); 50 host->RemoveAnimationTimeline(timeline.get());
51 EXPECT_FALSE(timeline->animation_host()); 51 EXPECT_FALSE(timeline->animation_host());
52 52
53 host->PushPropertiesTo(host_impl.get()); 53 host->PushPropertiesTo(host_impl.get(), base::TimeTicks());
54 EXPECT_FALSE(host_impl->GetTimelineById(timeline_id)); 54 EXPECT_FALSE(host_impl->GetTimelineById(timeline_id));
55 55
56 EXPECT_FALSE(timeline_impl->animation_host()); 56 EXPECT_FALSE(timeline_impl->animation_host());
57 } 57 }
58 58
59 TEST_F(AnimationHostTest, ImplOnlyTimeline) { 59 TEST_F(AnimationHostTest, ImplOnlyTimeline) {
60 std::unique_ptr<AnimationHost> host( 60 std::unique_ptr<AnimationHost> host(
61 AnimationHost::Create(ThreadInstance::MAIN)); 61 AnimationHost::Create(ThreadInstance::MAIN));
62 std::unique_ptr<AnimationHost> host_impl( 62 std::unique_ptr<AnimationHost> host_impl(
63 AnimationHost::Create(ThreadInstance::IMPL)); 63 AnimationHost::Create(ThreadInstance::IMPL));
64 64
65 const int timeline_id1 = AnimationIdProvider::NextTimelineId(); 65 const int timeline_id1 = AnimationIdProvider::NextTimelineId();
66 const int timeline_id2 = AnimationIdProvider::NextTimelineId(); 66 const int timeline_id2 = AnimationIdProvider::NextTimelineId();
67 67
68 scoped_refptr<AnimationTimeline> timeline( 68 scoped_refptr<AnimationTimeline> timeline(
69 AnimationTimeline::Create(timeline_id1)); 69 AnimationTimeline::Create(timeline_id1));
70 scoped_refptr<AnimationTimeline> timeline_impl( 70 scoped_refptr<AnimationTimeline> timeline_impl(
71 AnimationTimeline::Create(timeline_id2)); 71 AnimationTimeline::Create(timeline_id2));
72 timeline_impl->set_is_impl_only(true); 72 timeline_impl->set_is_impl_only(true);
73 73
74 host->AddAnimationTimeline(timeline.get()); 74 host->AddAnimationTimeline(timeline.get());
75 host_impl->AddAnimationTimeline(timeline_impl.get()); 75 host_impl->AddAnimationTimeline(timeline_impl.get());
76 76
77 host->PushPropertiesTo(host_impl.get()); 77 host->PushPropertiesTo(host_impl.get(), base::TimeTicks());
78 78
79 EXPECT_TRUE(host->GetTimelineById(timeline_id1)); 79 EXPECT_TRUE(host->GetTimelineById(timeline_id1));
80 EXPECT_TRUE(host_impl->GetTimelineById(timeline_id2)); 80 EXPECT_TRUE(host_impl->GetTimelineById(timeline_id2));
81 } 81 }
82 82
83 TEST_F(AnimationHostTest, ImplOnlyScrollAnimationUpdateTargetIfDetached) { 83 TEST_F(AnimationHostTest, ImplOnlyScrollAnimationUpdateTargetIfDetached) {
84 client_.RegisterElement(element_id_, ElementListType::ACTIVE); 84 client_.RegisterElement(element_id_, ElementListType::ACTIVE);
85 client_impl_.RegisterElement(element_id_, ElementListType::PENDING); 85 client_impl_.RegisterElement(element_id_, ElementListType::PENDING);
86 86
87 gfx::ScrollOffset target_offset(0., 2.); 87 gfx::ScrollOffset target_offset(0., 2.);
(...skipping 13 matching lines...) Expand all
101 // Detach all players from layers and timelines. 101 // Detach all players from layers and timelines.
102 host_impl_->ClearTimelines(); 102 host_impl_->ClearTimelines();
103 103
104 time += base::TimeDelta::FromSecondsD(0.1); 104 time += base::TimeDelta::FromSecondsD(0.1);
105 EXPECT_FALSE(host_impl_->ImplOnlyScrollAnimationUpdateTarget( 105 EXPECT_FALSE(host_impl_->ImplOnlyScrollAnimationUpdateTarget(
106 element_id_, scroll_delta, max_scroll_offset, time)); 106 element_id_, scroll_delta, max_scroll_offset, time));
107 } 107 }
108 108
109 } // namespace 109 } // namespace
110 } // namespace cc 110 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698