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

Unified Diff: cc/test/animation_timelines_test_common.cc

Issue 1904653002: CC Animation: Merge LayerAnimationController into ElementAnimations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor optimization: Don't init value observations if same host. Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/test/animation_timelines_test_common.h ('k') | cc/test/layer_tree_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/test/animation_timelines_test_common.cc
diff --git a/cc/test/animation_timelines_test_common.cc b/cc/test/animation_timelines_test_common.cc
index 5525032703d68077236030eecbedc99345497324..70f608286ae2411d1f5d28394392c7906ecb02c4 100644
--- a/cc/test/animation_timelines_test_common.cc
+++ b/cc/test/animation_timelines_test_common.cc
@@ -25,16 +25,37 @@ TestLayer::TestLayer() {
}
void TestLayer::ClearMutatedProperties() {
- transform_x_ = 0;
- transform_y_ = 0;
-
+ transform_ = gfx::Transform();
opacity_ = 0;
- brightness_ = 0;
+ filters_ = FilterOperations();
+ scroll_offset_ = gfx::ScrollOffset();
+ transform_is_animating_ = false;
for (int i = 0; i <= TargetProperty::LAST_TARGET_PROPERTY; ++i)
mutated_properties_[i] = false;
}
+int TestLayer::transform_x() const {
+ gfx::Vector2dF vec = transform_.To2dTranslation();
+ return static_cast<int>(vec.x());
+}
+
+int TestLayer::transform_y() const {
+ gfx::Vector2dF vec = transform_.To2dTranslation();
+ return static_cast<int>(vec.y());
+}
+
+float TestLayer::brightness() const {
+ for (unsigned i = 0; i < filters_.size(); ++i) {
+ const FilterOperation& filter = filters_.at(i);
+ if (filter.type() == FilterOperation::BRIGHTNESS)
+ return filter.amount();
+ }
+
+ NOTREACHED();
+ return 0;
+}
+
TestHostClient::TestHostClient(ThreadInstance thread_instance)
: host_(AnimationHost::Create(thread_instance)),
mutators_need_commit_(false) {
@@ -69,28 +90,25 @@ void TestHostClient::SetMutatorsNeedRebuildPropertyTrees() {}
void TestHostClient::SetLayerFilterMutated(int layer_id,
LayerTreeType tree_type,
const FilterOperations& filters) {
- for (unsigned i = 0; i < filters.size(); ++i) {
- const FilterOperation& filter = filters.at(i);
- if (filter.type() == FilterOperation::BRIGHTNESS) {
- TestLayer* layer = FindTestLayer(layer_id, tree_type);
- layer->set_brightness(filter.amount());
- }
- }
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ if (layer)
+ layer->set_filters(filters);
}
void TestHostClient::SetLayerOpacityMutated(int layer_id,
LayerTreeType tree_type,
float opacity) {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
- layer->set_opacity(opacity);
+ if (layer)
+ layer->set_opacity(opacity);
}
void TestHostClient::SetLayerTransformMutated(int layer_id,
LayerTreeType tree_type,
const gfx::Transform& transform) {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
- gfx::Vector2dF vec = transform.To2dTranslation();
- layer->set_transform(static_cast<int>(vec.x()), static_cast<int>(vec.y()));
+ if (layer)
+ layer->set_transform(transform);
}
void TestHostClient::SetLayerScrollOffsetMutated(
@@ -98,12 +116,27 @@ void TestHostClient::SetLayerScrollOffsetMutated(
LayerTreeType tree_type,
const gfx::ScrollOffset& scroll_offset) {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
- layer->set_scroll_offset(scroll_offset);
+ if (layer)
+ layer->set_scroll_offset(scroll_offset);
+}
+
+void TestHostClient::LayerTransformIsPotentiallyAnimatingChanged(
+ int layer_id,
+ LayerTreeType tree_type,
+ bool is_animating) {
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ if (layer)
+ layer->set_transform_is_animating(is_animating);
+}
+
+void TestHostClient::SetScrollOffsetForAnimation(
+ const gfx::ScrollOffset& scroll_offset) {
+ scroll_offset_ = scroll_offset;
}
gfx::ScrollOffset TestHostClient::GetScrollOffsetForAnimation(
int layer_id) const {
- return gfx::ScrollOffset();
+ return scroll_offset_;
}
void TestHostClient::RegisterLayer(int layer_id, LayerTreeType tree_type) {
@@ -133,14 +166,51 @@ bool TestHostClient::IsPropertyMutated(int layer_id,
LayerTreeType tree_type,
TargetProperty::Type property) const {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
return layer->is_property_mutated(property);
}
+FilterOperations TestHostClient::GetFilters(int layer_id,
+ LayerTreeType tree_type) const {
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
+ return layer->filters();
+}
+
+float TestHostClient::GetOpacity(int layer_id, LayerTreeType tree_type) const {
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
+ return layer->opacity();
+}
+
+gfx::Transform TestHostClient::GetTransform(int layer_id,
+ LayerTreeType tree_type) const {
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
+ return layer->transform();
+}
+
+gfx::ScrollOffset TestHostClient::GetScrollOffset(
+ int layer_id,
+ LayerTreeType tree_type) const {
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
+ return layer->scroll_offset();
+}
+
+bool TestHostClient::GetTransformIsAnimating(int layer_id,
+ LayerTreeType tree_type) const {
+ TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
+ return layer->transform_is_animating();
+}
+
void TestHostClient::ExpectFilterPropertyMutated(int layer_id,
LayerTreeType tree_type,
float brightness) const {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
- EXPECT_TRUE(layer->is_property_mutated(TargetProperty::OPACITY));
+ EXPECT_TRUE(layer);
+ EXPECT_TRUE(layer->is_property_mutated(TargetProperty::FILTER));
EXPECT_EQ(brightness, layer->brightness());
}
@@ -148,6 +218,7 @@ void TestHostClient::ExpectOpacityPropertyMutated(int layer_id,
LayerTreeType tree_type,
float opacity) const {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
+ EXPECT_TRUE(layer);
EXPECT_TRUE(layer->is_property_mutated(TargetProperty::OPACITY));
EXPECT_EQ(opacity, layer->opacity());
}
@@ -157,7 +228,8 @@ void TestHostClient::ExpectTransformPropertyMutated(int layer_id,
int transform_x,
int transform_y) const {
TestLayer* layer = FindTestLayer(layer_id, tree_type);
- EXPECT_TRUE(layer->is_property_mutated(TargetProperty::OPACITY));
+ EXPECT_TRUE(layer);
+ EXPECT_TRUE(layer->is_property_mutated(TargetProperty::TRANSFORM));
EXPECT_EQ(transform_x, layer->transform_x());
EXPECT_EQ(transform_y, layer->transform_y());
}
@@ -168,21 +240,28 @@ TestLayer* TestHostClient::FindTestLayer(int layer_id,
? layers_in_active_tree_
: layers_in_pending_tree_;
auto kv = layers_in_tree.find(layer_id);
- DCHECK(kv != layers_in_tree.end());
+ if (kv == layers_in_tree.end())
+ return nullptr;
+
DCHECK(kv->second);
return kv->second.get();
}
TestAnimationDelegate::TestAnimationDelegate()
- : started_(false), finished_(false) {
-}
+ : started_(false),
+ finished_(false),
+ aborted_(false),
+ takeover_(false),
+ start_time_(base::TimeTicks()) {}
void TestAnimationDelegate::NotifyAnimationStarted(
base::TimeTicks monotonic_time,
TargetProperty::Type target_property,
int group) {
started_ = true;
+ start_time_ = monotonic_time;
}
+
void TestAnimationDelegate::NotifyAnimationFinished(
base::TimeTicks monotonic_time,
TargetProperty::Type target_property,
@@ -190,6 +269,21 @@ void TestAnimationDelegate::NotifyAnimationFinished(
finished_ = true;
}
+void TestAnimationDelegate::NotifyAnimationAborted(
+ base::TimeTicks monotonic_time,
+ TargetProperty::Type target_property,
+ int group) {
+ aborted_ = true;
+}
+
+void TestAnimationDelegate::NotifyAnimationTakeover(
+ base::TimeTicks monotonic_time,
+ TargetProperty::Type target_property,
+ double animation_start_time,
+ std::unique_ptr<AnimationCurve> curve) {
+ takeover_ = true;
+}
+
AnimationTimelinesTest::AnimationTimelinesTest()
: client_(ThreadInstance::MAIN),
client_impl_(ThreadInstance::IMPL),
@@ -217,6 +311,51 @@ void AnimationTimelinesTest::TearDown() {
host_->ClearTimelines();
}
+void AnimationTimelinesTest::CreateTestLayer(
+ bool needs_active_value_observations,
+ bool needs_pending_value_observations) {
+ CreateTestMainLayer();
+
+ if (needs_pending_value_observations)
+ CreateTestImplLayer(LayerTreeType::PENDING);
+ if (needs_active_value_observations)
+ CreateTestImplLayer(LayerTreeType::ACTIVE);
+}
+
+void AnimationTimelinesTest::CreateTestMainLayer() {
+ client_.RegisterLayer(layer_id_, LayerTreeType::ACTIVE);
+}
+
+void AnimationTimelinesTest::CreateTestImplLayer(
+ LayerTreeType layer_tree_type) {
+ client_impl_.RegisterLayer(layer_id_, layer_tree_type);
+}
+
+void AnimationTimelinesTest::AttachTimelinePlayerLayer() {
+ host_->AddAnimationTimeline(timeline_);
+ timeline_->AttachPlayer(player_);
+ player_->AttachLayer(layer_id_);
+}
+
+void AnimationTimelinesTest::CreateImplTimelineAndPlayer() {
+ host_->PushPropertiesTo(host_impl_);
+ GetImplTimelineAndPlayerByID();
+}
+
+scoped_refptr<ElementAnimations> AnimationTimelinesTest::element_animations()
+ const {
+ DCHECK(player_);
+ DCHECK(player_->element_animations());
+ return player_->element_animations();
+}
+
+scoped_refptr<ElementAnimations>
+AnimationTimelinesTest::element_animations_impl() const {
+ DCHECK(player_impl_);
+ DCHECK(player_impl_->element_animations());
+ return player_impl_->element_animations();
+}
+
void AnimationTimelinesTest::GetImplTimelineAndPlayerByID() {
timeline_impl_ = host_impl_->GetTimelineById(timeline_id_);
EXPECT_TRUE(timeline_impl_);
« no previous file with comments | « cc/test/animation_timelines_test_common.h ('k') | cc/test/layer_tree_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698