| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 5092 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5103 EXPECT_FALSE(node->data.is_drawn); | 5103 EXPECT_FALSE(node->data.is_drawn); |
| 5104 EXPECT_FALSE(active_effect_tree.ContributesToDrawnSurface( | 5104 EXPECT_FALSE(active_effect_tree.ContributesToDrawnSurface( |
| 5105 active_child->effect_tree_index())); | 5105 active_child->effect_tree_index())); |
| 5106 } | 5106 } |
| 5107 | 5107 |
| 5108 using LCDTextTestParam = std::tr1::tuple<bool, bool, bool>; | 5108 using LCDTextTestParam = std::tr1::tuple<bool, bool, bool>; |
| 5109 class LCDTextTest : public LayerTreeHostCommonTestBase, | 5109 class LCDTextTest : public LayerTreeHostCommonTestBase, |
| 5110 public testing::TestWithParam<LCDTextTestParam> { | 5110 public testing::TestWithParam<LCDTextTestParam> { |
| 5111 public: | 5111 public: |
| 5112 LCDTextTest() | 5112 LCDTextTest() |
| 5113 : LayerTreeHostCommonTestBase(LayerTreeSettings()), | 5113 : LayerTreeHostCommonTestBase(LCDTextTestLayerTreeSettings()), |
| 5114 host_impl_(&task_runner_provider_, | 5114 host_impl_(LCDTextTestLayerTreeSettings(), |
| 5115 &task_runner_provider_, |
| 5115 &shared_bitmap_manager_, | 5116 &shared_bitmap_manager_, |
| 5116 &task_graph_runner_), | 5117 &task_graph_runner_), |
| 5117 root_(nullptr), | 5118 root_(nullptr), |
| 5118 child_(nullptr), | 5119 child_(nullptr), |
| 5119 grand_child_(nullptr) {} | 5120 grand_child_(nullptr) {} |
| 5120 | 5121 |
| 5121 scoped_refptr<AnimationTimeline> timeline() { return timeline_; } | 5122 scoped_refptr<AnimationTimeline> timeline() { return timeline_; } |
| 5122 | 5123 |
| 5123 protected: | 5124 protected: |
| 5125 LayerTreeSettings LCDTextTestLayerTreeSettings() { |
| 5126 LayerTreeSettings settings = LayerTreeSettings(); |
| 5127 |
| 5128 can_use_lcd_text_ = std::tr1::get<0>(GetParam()); |
| 5129 layers_always_allowed_lcd_text_ = std::tr1::get<1>(GetParam()); |
| 5130 settings.can_use_lcd_text = can_use_lcd_text_; |
| 5131 settings.layers_always_allowed_lcd_text = layers_always_allowed_lcd_text_; |
| 5132 return settings; |
| 5133 } |
| 5134 |
| 5124 void SetUp() override { | 5135 void SetUp() override { |
| 5125 timeline_ = | 5136 timeline_ = |
| 5126 AnimationTimeline::Create(AnimationIdProvider::NextTimelineId()); | 5137 AnimationTimeline::Create(AnimationIdProvider::NextTimelineId()); |
| 5127 host_impl_.animation_host()->AddAnimationTimeline(timeline_); | 5138 host_impl_.animation_host()->AddAnimationTimeline(timeline_); |
| 5128 | 5139 |
| 5129 can_use_lcd_text_ = std::tr1::get<0>(GetParam()); | |
| 5130 layers_always_allowed_lcd_text_ = std::tr1::get<1>(GetParam()); | |
| 5131 | |
| 5132 std::unique_ptr<LayerImpl> root_ptr = | 5140 std::unique_ptr<LayerImpl> root_ptr = |
| 5133 LayerImpl::Create(host_impl_.active_tree(), 1); | 5141 LayerImpl::Create(host_impl_.active_tree(), 1); |
| 5134 std::unique_ptr<LayerImpl> child_ptr = | 5142 std::unique_ptr<LayerImpl> child_ptr = |
| 5135 LayerImpl::Create(host_impl_.active_tree(), 2); | 5143 LayerImpl::Create(host_impl_.active_tree(), 2); |
| 5136 std::unique_ptr<LayerImpl> grand_child_ptr = | 5144 std::unique_ptr<LayerImpl> grand_child_ptr = |
| 5137 LayerImpl::Create(host_impl_.active_tree(), 3); | 5145 LayerImpl::Create(host_impl_.active_tree(), 3); |
| 5138 | 5146 |
| 5139 // Stash raw pointers to look at later. | 5147 // Stash raw pointers to look at later. |
| 5140 root_ = root_ptr.get(); | 5148 root_ = root_ptr.get(); |
| 5141 child_ = child_ptr.get(); | 5149 child_ = child_ptr.get(); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5178 LayerImpl* child_; | 5186 LayerImpl* child_; |
| 5179 LayerImpl* grand_child_; | 5187 LayerImpl* grand_child_; |
| 5180 }; | 5188 }; |
| 5181 | 5189 |
| 5182 TEST_P(LCDTextTest, CanUseLCDText) { | 5190 TEST_P(LCDTextTest, CanUseLCDText) { |
| 5183 bool expect_lcd_text = can_use_lcd_text_ || layers_always_allowed_lcd_text_; | 5191 bool expect_lcd_text = can_use_lcd_text_ || layers_always_allowed_lcd_text_; |
| 5184 bool expect_not_lcd_text = layers_always_allowed_lcd_text_; | 5192 bool expect_not_lcd_text = layers_always_allowed_lcd_text_; |
| 5185 | 5193 |
| 5186 // Case 1: Identity transform. | 5194 // Case 1: Identity transform. |
| 5187 gfx::Transform identity_matrix; | 5195 gfx::Transform identity_matrix; |
| 5188 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5196 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5189 layers_always_allowed_lcd_text_); | |
| 5190 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5197 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5191 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); | 5198 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); |
| 5192 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5199 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5193 | 5200 |
| 5194 // Case 2: Integral translation. | 5201 // Case 2: Integral translation. |
| 5195 gfx::Transform integral_translation; | 5202 gfx::Transform integral_translation; |
| 5196 integral_translation.Translate(1.0, 2.0); | 5203 integral_translation.Translate(1.0, 2.0); |
| 5197 child_->SetTransform(integral_translation); | 5204 child_->SetTransform(integral_translation); |
| 5198 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5205 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5199 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5206 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5200 layers_always_allowed_lcd_text_); | |
| 5201 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5207 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5202 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); | 5208 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); |
| 5203 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5209 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5204 | 5210 |
| 5205 // Case 3: Non-integral translation. | 5211 // Case 3: Non-integral translation. |
| 5206 gfx::Transform non_integral_translation; | 5212 gfx::Transform non_integral_translation; |
| 5207 non_integral_translation.Translate(1.5, 2.5); | 5213 non_integral_translation.Translate(1.5, 2.5); |
| 5208 child_->SetTransform(non_integral_translation); | 5214 child_->SetTransform(non_integral_translation); |
| 5209 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5215 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5210 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5216 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5211 layers_always_allowed_lcd_text_); | |
| 5212 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5217 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5213 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5218 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5214 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); | 5219 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); |
| 5215 | 5220 |
| 5216 // Case 4: Rotation. | 5221 // Case 4: Rotation. |
| 5217 gfx::Transform rotation; | 5222 gfx::Transform rotation; |
| 5218 rotation.Rotate(10.0); | 5223 rotation.Rotate(10.0); |
| 5219 child_->SetTransform(rotation); | 5224 child_->SetTransform(rotation); |
| 5220 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5225 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5221 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5226 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5222 layers_always_allowed_lcd_text_); | |
| 5223 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5227 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5224 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5228 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5225 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); | 5229 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); |
| 5226 | 5230 |
| 5227 // Case 5: Scale. | 5231 // Case 5: Scale. |
| 5228 gfx::Transform scale; | 5232 gfx::Transform scale; |
| 5229 scale.Scale(2.0, 2.0); | 5233 scale.Scale(2.0, 2.0); |
| 5230 child_->SetTransform(scale); | 5234 child_->SetTransform(scale); |
| 5231 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5235 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5232 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5236 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5233 layers_always_allowed_lcd_text_); | |
| 5234 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5237 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5235 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5238 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5236 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); | 5239 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); |
| 5237 | 5240 |
| 5238 // Case 6: Skew. | 5241 // Case 6: Skew. |
| 5239 gfx::Transform skew; | 5242 gfx::Transform skew; |
| 5240 skew.Skew(10.0, 0.0); | 5243 skew.Skew(10.0, 0.0); |
| 5241 child_->SetTransform(skew); | 5244 child_->SetTransform(skew); |
| 5242 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5245 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5243 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5246 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5244 layers_always_allowed_lcd_text_); | |
| 5245 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5247 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5246 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5248 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5247 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); | 5249 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); |
| 5248 | 5250 |
| 5249 // Case 7: Translucent. | 5251 // Case 7: Translucent. |
| 5250 child_->SetTransform(identity_matrix); | 5252 child_->SetTransform(identity_matrix); |
| 5251 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5253 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5252 child_->SetOpacity(0.5f); | 5254 child_->SetOpacity(0.5f); |
| 5253 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5255 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5254 layers_always_allowed_lcd_text_); | |
| 5255 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5256 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5256 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5257 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5257 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); | 5258 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); |
| 5258 | 5259 |
| 5259 // Case 8: Sanity check: restore transform and opacity. | 5260 // Case 8: Sanity check: restore transform and opacity. |
| 5260 child_->SetTransform(identity_matrix); | 5261 child_->SetTransform(identity_matrix); |
| 5261 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5262 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5262 child_->SetOpacity(1.f); | 5263 child_->SetOpacity(1.f); |
| 5263 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5264 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5264 layers_always_allowed_lcd_text_); | |
| 5265 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5265 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5266 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); | 5266 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); |
| 5267 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5267 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5268 | 5268 |
| 5269 // Case 9: Non-opaque content. | 5269 // Case 9: Non-opaque content. |
| 5270 child_->SetContentsOpaque(false); | 5270 child_->SetContentsOpaque(false); |
| 5271 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5271 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5272 layers_always_allowed_lcd_text_); | |
| 5273 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5272 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5274 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5273 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5275 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5274 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5276 | 5275 |
| 5277 // Case 10: Sanity check: restore content opaqueness. | 5276 // Case 10: Sanity check: restore content opaqueness. |
| 5278 child_->SetContentsOpaque(true); | 5277 child_->SetContentsOpaque(true); |
| 5279 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5278 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5280 layers_always_allowed_lcd_text_); | |
| 5281 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5279 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5282 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); | 5280 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); |
| 5283 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5281 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5284 } | 5282 } |
| 5285 | 5283 |
| 5286 TEST_P(LCDTextTest, CanUseLCDTextWithAnimation) { | 5284 TEST_P(LCDTextTest, CanUseLCDTextWithAnimation) { |
| 5287 bool expect_lcd_text = can_use_lcd_text_ || layers_always_allowed_lcd_text_; | 5285 bool expect_lcd_text = can_use_lcd_text_ || layers_always_allowed_lcd_text_; |
| 5288 bool expect_not_lcd_text = layers_always_allowed_lcd_text_; | 5286 bool expect_not_lcd_text = layers_always_allowed_lcd_text_; |
| 5289 | 5287 |
| 5290 // Sanity check: Make sure can_use_lcd_text_ is set on each node. | 5288 // Sanity check: Make sure can_use_lcd_text_ is set on each node. |
| 5291 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5289 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5292 layers_always_allowed_lcd_text_); | |
| 5293 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5290 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5294 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); | 5291 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); |
| 5295 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5292 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5296 | 5293 |
| 5297 // Add opacity animation. | 5294 // Add opacity animation. |
| 5298 child_->SetOpacity(0.9f); | 5295 child_->SetOpacity(0.9f); |
| 5299 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; | 5296 child_->layer_tree_impl()->property_trees()->needs_rebuild = true; |
| 5300 AddOpacityTransitionToLayerWithPlayer(child_->id(), timeline(), 10.0, 0.9f, | 5297 AddOpacityTransitionToLayerWithPlayer(child_->id(), timeline(), 10.0, 0.9f, |
| 5301 0.1f, false); | 5298 0.1f, false); |
| 5302 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5299 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5303 layers_always_allowed_lcd_text_); | |
| 5304 // Text LCD should be adjusted while animation is active. | 5300 // Text LCD should be adjusted while animation is active. |
| 5305 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5301 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5306 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5302 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5307 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); | 5303 EXPECT_EQ(expect_not_lcd_text, grand_child_->can_use_lcd_text()); |
| 5308 } | 5304 } |
| 5309 | 5305 |
| 5310 TEST_P(LCDTextTest, CanUseLCDTextWithAnimationContentsOpaque) { | 5306 TEST_P(LCDTextTest, CanUseLCDTextWithAnimationContentsOpaque) { |
| 5311 bool expect_lcd_text = can_use_lcd_text_ || layers_always_allowed_lcd_text_; | 5307 bool expect_lcd_text = can_use_lcd_text_ || layers_always_allowed_lcd_text_; |
| 5312 bool expect_not_lcd_text = layers_always_allowed_lcd_text_; | 5308 bool expect_not_lcd_text = layers_always_allowed_lcd_text_; |
| 5313 | 5309 |
| 5314 // Sanity check: Make sure can_use_lcd_text_ is set on each node. | 5310 // Sanity check: Make sure can_use_lcd_text_ is set on each node. |
| 5315 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5311 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5316 layers_always_allowed_lcd_text_); | |
| 5317 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5312 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5318 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); | 5313 EXPECT_EQ(expect_lcd_text, child_->can_use_lcd_text()); |
| 5319 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5314 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5320 | 5315 |
| 5321 // Mark contents non-opaque within the first animation frame. | 5316 // Mark contents non-opaque within the first animation frame. |
| 5322 child_->SetContentsOpaque(false); | 5317 child_->SetContentsOpaque(false); |
| 5323 AddOpacityTransitionToLayerWithPlayer(child_->id(), timeline(), 10.0, 0.9f, | 5318 AddOpacityTransitionToLayerWithPlayer(child_->id(), timeline(), 10.0, 0.9f, |
| 5324 0.1f, false); | 5319 0.1f, false); |
| 5325 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL, can_use_lcd_text_, | 5320 ExecuteCalculateDrawProperties(root_, 1.f, 1.f, NULL); |
| 5326 layers_always_allowed_lcd_text_); | |
| 5327 // LCD text should be disabled for non-opaque layers even during animations. | 5321 // LCD text should be disabled for non-opaque layers even during animations. |
| 5328 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); | 5322 EXPECT_EQ(expect_lcd_text, root_->can_use_lcd_text()); |
| 5329 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); | 5323 EXPECT_EQ(expect_not_lcd_text, child_->can_use_lcd_text()); |
| 5330 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); | 5324 EXPECT_EQ(expect_lcd_text, grand_child_->can_use_lcd_text()); |
| 5331 } | 5325 } |
| 5332 | 5326 |
| 5333 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, | 5327 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, |
| 5334 LCDTextTest, | 5328 LCDTextTest, |
| 5335 testing::Combine(testing::Bool(), | 5329 testing::Combine(testing::Bool(), |
| 5336 testing::Bool(), | 5330 testing::Bool(), |
| (...skipping 4763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10100 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); | 10094 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); |
| 10101 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); | 10095 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); |
| 10102 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); | 10096 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); |
| 10103 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); | 10097 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); |
| 10104 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); | 10098 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); |
| 10105 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); | 10099 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); |
| 10106 } | 10100 } |
| 10107 | 10101 |
| 10108 } // namespace | 10102 } // namespace |
| 10109 } // namespace cc | 10103 } // namespace cc |
| OLD | NEW |