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

Unified Diff: cc/trees/layer_tree_impl.cc

Issue 2118993002: Detemplatize cc property nodes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
Index: cc/trees/layer_tree_impl.cc
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index 1c9057be8a9a611d452e64db58a2d671017eabc7..24048a61da81180ac4a538b8c5c23e59c13af9c0 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -33,12 +33,16 @@
#include "cc/layers/render_surface_impl.h"
#include "cc/layers/scrollbar_layer_impl_base.h"
#include "cc/resources/ui_resource_request.h"
+#include "cc/trees/clip_node.h"
#include "cc/trees/draw_property_utils.h"
+#include "cc/trees/effect_node.h"
#include "cc/trees/layer_tree_host_common.h"
#include "cc/trees/layer_tree_host_impl.h"
#include "cc/trees/occlusion_tracker.h"
#include "cc/trees/property_tree.h"
#include "cc/trees/property_tree_builder.h"
+#include "cc/trees/scroll_node.h"
+#include "cc/trees/transform_node.h"
#include "ui/gfx/geometry/box_f.h"
#include "ui/gfx/geometry/point_conversions.h"
#include "ui/gfx/geometry/rect_conversions.h"
@@ -147,13 +151,12 @@ void LayerTreeImpl::DidUpdateScrollOffset(int layer_id, int transform_id) {
if (transform_id != -1) {
TransformNode* node = transform_tree.Node(transform_id);
- if (node->data.scroll_offset !=
- scroll_tree.current_scroll_offset(layer_id)) {
- node->data.scroll_offset = scroll_tree.current_scroll_offset(layer_id);
- node->data.needs_local_transform_update = true;
+ if (node->scroll_offset != scroll_tree.current_scroll_offset(layer_id)) {
+ node->scroll_offset = scroll_tree.current_scroll_offset(layer_id);
+ node->needs_local_transform_update = true;
transform_tree.set_needs_update(true);
}
- node->data.transform_changed = true;
+ node->transform_changed = true;
property_trees()->changed = true;
set_needs_update_draw_properties();
}
@@ -350,8 +353,8 @@ static void UpdateClipTreeForBoundsDeltaOnLayer(LayerImpl* layer,
if (clip_node) {
DCHECK_EQ(layer->id(), clip_node->owner_id);
gfx::SizeF bounds = gfx::SizeF(layer->bounds());
- if (clip_node->data.clip.size() != bounds) {
- clip_node->data.clip.set_size(bounds);
+ if (clip_node->clip.size() != bounds) {
+ clip_node->clip.set_size(bounds);
clip_tree->set_needs_update(true);
}
}
@@ -612,10 +615,10 @@ void LayerTreeImpl::UpdatePropertyTreeScrollingAndAnimationFromMainThread() {
if (property_trees_.IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, id)) {
EffectNode* node = property_trees_.effect_tree.Node(
property_trees_.effect_id_to_index_map[id]);
- if (!node->data.is_currently_animating_opacity ||
- node->data.opacity == layer_id_to_opacity.second)
+ if (!node->is_currently_animating_opacity ||
+ node->opacity == layer_id_to_opacity.second)
continue;
- node->data.opacity = layer_id_to_opacity.second;
+ node->opacity = layer_id_to_opacity.second;
property_trees_.effect_tree.set_needs_update(true);
}
}
@@ -627,11 +630,11 @@ void LayerTreeImpl::UpdatePropertyTreeScrollingAndAnimationFromMainThread() {
id)) {
TransformNode* node = property_trees_.transform_tree.Node(
property_trees_.transform_id_to_index_map[id]);
- if (!node->data.is_currently_animating ||
- node->data.local == layer_id_to_transform.second)
+ if (!node->is_currently_animating ||
+ node->local == layer_id_to_transform.second)
continue;
- node->data.local = layer_id_to_transform.second;
- node->data.needs_local_transform_update = true;
+ node->local = layer_id_to_transform.second;
+ node->needs_local_transform_update = true;
property_trees_.transform_tree.set_needs_update(true);
}
}
@@ -1653,18 +1656,18 @@ static bool PointIsClippedByAncestorClipNode(
// We first check if the point is clipped by viewport.
const ClipNode* clip_node = clip_tree.Node(1);
gfx::Rect combined_clip_in_target_space =
- gfx::ToEnclosingRect(clip_node->data.combined_clip_in_target_space);
+ gfx::ToEnclosingRect(clip_node->combined_clip_in_target_space);
if (!PointHitsRect(screen_space_point, gfx::Transform(),
combined_clip_in_target_space, NULL))
return true;
for (const ClipNode* clip_node = clip_tree.Node(layer->clip_tree_index());
clip_node->id > 1; clip_node = clip_tree.parent(clip_node)) {
- if (clip_node->data.applies_local_clip) {
+ if (clip_node->applies_local_clip) {
const TransformNode* transform_node =
- transform_tree.Node(clip_node->data.target_id);
+ transform_tree.Node(clip_node->target_id);
gfx::Rect combined_clip_in_target_space =
- gfx::ToEnclosingRect(clip_node->data.combined_clip_in_target_space);
+ gfx::ToEnclosingRect(clip_node->combined_clip_in_target_space);
const LayerImpl* target_layer =
layer->layer_tree_impl()->LayerById(transform_node->owner_id);

Powered by Google App Engine
This is Rietveld 408576698