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

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 1010663002: CC Animations: Redirect all compositor animation requests to AnimationHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@introduce
Patch Set: Add ported unittests. Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/property_tree_builder.h" 5 #include "cc/trees/property_tree_builder.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 DataForRecursion* data_for_children) { 141 DataForRecursion* data_for_children) {
142 const bool is_root = !layer->parent(); 142 const bool is_root = !layer->parent();
143 const bool is_page_scale_application_layer = 143 const bool is_page_scale_application_layer =
144 layer->parent() && layer->parent() == data_from_ancestor.page_scale_layer; 144 layer->parent() && layer->parent() == data_from_ancestor.page_scale_layer;
145 const bool is_scrollable = layer->scrollable(); 145 const bool is_scrollable = layer->scrollable();
146 const bool is_fixed = layer->position_constraint().is_fixed_position(); 146 const bool is_fixed = layer->position_constraint().is_fixed_position();
147 147
148 const bool has_significant_transform = 148 const bool has_significant_transform =
149 !layer->transform().IsIdentityOr2DTranslation(); 149 !layer->transform().IsIdentityOr2DTranslation();
150 150
151 const bool has_animated_transform = 151 const bool has_animated_transform = layer->TransformIsAnimating();
152 layer->layer_animation_controller()->IsAnimatingProperty(
153 Animation::TRANSFORM);
154 152
155 const bool has_surface = !!layer->render_surface(); 153 const bool has_surface = !!layer->render_surface();
156 154
157 bool requires_node = is_root || is_scrollable || has_significant_transform || 155 bool requires_node = is_root || is_scrollable || has_significant_transform ||
158 has_animated_transform || has_surface || 156 has_animated_transform || has_surface ||
159 is_page_scale_application_layer; 157 is_page_scale_application_layer;
160 158
161 Layer* transform_parent = GetTransformParent(data_from_ancestor, layer); 159 Layer* transform_parent = GetTransformParent(data_from_ancestor, layer);
162 160
163 gfx::Vector2dF parent_offset; 161 gfx::Vector2dF parent_offset;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 layer->ScrollCompensationAdjustment() - node->data.scroll_snap; 272 layer->ScrollCompensationAdjustment() - node->data.scroll_snap;
275 return true; 273 return true;
276 } 274 }
277 275
278 void AddOpacityNodeIfNeeded(const DataForRecursion& data_from_ancestor, 276 void AddOpacityNodeIfNeeded(const DataForRecursion& data_from_ancestor,
279 Layer* layer, 277 Layer* layer,
280 DataForRecursion* data_for_children) { 278 DataForRecursion* data_for_children) {
281 const bool is_root = !layer->parent(); 279 const bool is_root = !layer->parent();
282 const bool has_transparency = layer->opacity() != 1.f; 280 const bool has_transparency = layer->opacity() != 1.f;
283 const bool has_animated_opacity = 281 const bool has_animated_opacity =
284 layer->layer_animation_controller()->IsAnimatingProperty( 282 layer->OpacityIsAnimating() || layer->OpacityCanAnimateOnImplThread();
285 Animation::OPACITY) ||
286 layer->OpacityCanAnimateOnImplThread();
287 bool requires_node = is_root || has_transparency || has_animated_opacity; 283 bool requires_node = is_root || has_transparency || has_animated_opacity;
288 284
289 int parent_id = data_from_ancestor.opacity_tree_parent; 285 int parent_id = data_from_ancestor.opacity_tree_parent;
290 286
291 if (!requires_node) { 287 if (!requires_node) {
292 layer->set_opacity_tree_index(parent_id); 288 layer->set_opacity_tree_index(parent_id);
293 data_for_children->opacity_tree_parent = parent_id; 289 data_for_children->opacity_tree_parent = parent_id;
294 return; 290 return;
295 } 291 }
296 292
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 358
363 ClipNode root_clip; 359 ClipNode root_clip;
364 root_clip.data.clip = viewport; 360 root_clip.data.clip = viewport;
365 root_clip.data.transform_id = 0; 361 root_clip.data.transform_id = 0;
366 data_for_recursion.clip_tree_parent = 362 data_for_recursion.clip_tree_parent =
367 data_for_recursion.clip_tree->Insert(root_clip, 0); 363 data_for_recursion.clip_tree->Insert(root_clip, 0);
368 BuildPropertyTreesInternal(root_layer, data_for_recursion); 364 BuildPropertyTreesInternal(root_layer, data_for_recursion);
369 } 365 }
370 366
371 } // namespace cc 367 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698