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

Side by Side Diff: cc/proto/property_tree.proto

Issue 1611713002: Add Scroll Tree data structure (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add scroll tree serialization unit tests Created 4 years, 11 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
« no previous file with comments | « no previous file | cc/trees/property_tree.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 syntax = "proto2"; 5 syntax = "proto2";
6 6
7 import "rectf.proto"; 7 import "rectf.proto";
8 import "scroll_offset.proto"; 8 import "scroll_offset.proto";
9 import "transform.proto"; 9 import "transform.proto";
10 import "vector2df.proto"; 10 import "vector2df.proto";
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 // Proto for struct EffectNodeData. 79 // Proto for struct EffectNodeData.
80 message EffectNodeData { 80 message EffectNodeData {
81 optional float opacity = 1; 81 optional float opacity = 1;
82 optional float screen_space_opacity = 2; 82 optional float screen_space_opacity = 2;
83 optional bool has_render_surface = 3; 83 optional bool has_render_surface = 3;
84 optional int64 num_copy_requests_in_subtree = 4; 84 optional int64 num_copy_requests_in_subtree = 4;
85 optional int64 transform_id = 5; 85 optional int64 transform_id = 5;
86 optional int64 clip_id = 6; 86 optional int64 clip_id = 6;
87 } 87 }
88 88
89 message ScrollNodeData {
90 optional bool scrollable = 1;
91 optional bool should_scroll_on_main_thread = 2;
92 optional int32 scroll_blocks_on = 3;
93 optional bool contains_non_fast_scrollable_region = 4;
94 optional int64 transform_id = 5;
95 }
96
89 // This defines the proto used for all types of struct TreeNode. 97 // This defines the proto used for all types of struct TreeNode.
90 message TreeNode { 98 message TreeNode {
91 // The following fields are the base TreeNode properties. This list 99 // The following fields are the base TreeNode properties. This list
92 // corresponds to the data members from struct TreeNode. 100 // corresponds to the data members from struct TreeNode.
93 optional int64 id = 1; 101 optional int64 id = 1;
94 optional int64 parent_id = 2; 102 optional int64 parent_id = 2;
95 optional int64 owner_id = 3; 103 optional int64 owner_id = 3;
96 104
97 // The following fields correspond to the possible values for TreeNode::data. 105 // The following fields correspond to the possible values for TreeNode::data.
98 // Only one of these fields should be set, based on the type of property tree 106 // Only one of these fields should be set, based on the type of property tree
99 // this node belongs to. 107 // this node belongs to.
100 optional TranformNodeData transform_node_data = 1000; 108 optional TranformNodeData transform_node_data = 1000;
101 optional ClipNodeData clip_node_data = 1001; 109 optional ClipNodeData clip_node_data = 1001;
102 optional EffectNodeData effect_node_data = 1002; 110 optional EffectNodeData effect_node_data = 1002;
111 optional ScrollNodeData scroll_node_data = 1003;
103 } 112 }
104 113
105 // This defines the proto used for all property trees. PropertyType denotes the 114 // This defines the proto used for all property trees. PropertyType denotes the
106 // type of this tree. 115 // type of this tree.
107 message PropertyTree { 116 message PropertyTree {
108 enum PropertyType { 117 enum PropertyType {
109 Transform = 1; 118 Transform = 1;
110 Clip = 2; 119 Clip = 2;
111 Effect = 3; 120 Effect = 3;
121 Scroll = 4;
112 } 122 }
113 123
114 // The following fields are the base PropertyTree properties. This list 124 // The following fields are the base PropertyTree properties. This list
115 // corresponds to the data members from class PropertyTree. 125 // corresponds to the data members from class PropertyTree.
116 optional PropertyType property_type = 1; 126 optional PropertyType property_type = 1;
117 repeated TreeNode nodes = 2; 127 repeated TreeNode nodes = 2;
118 optional bool needs_update = 3; 128 optional bool needs_update = 3;
119 129
120 // The following fields denote the data members for each subclass of 130 // The following fields denote the data members for each subclass of
121 // PropertyTree. Only one of these fields should be set, depending on the type 131 // PropertyTree. Only one of these fields should be set, depending on the type
(...skipping 13 matching lines...) Expand all
135 [packed = true]; 145 [packed = true];
136 repeated int64 nodes_affected_by_outer_viewport_bounds_delta = 8 146 repeated int64 nodes_affected_by_outer_viewport_bounds_delta = 8
137 [packed = true]; 147 [packed = true];
138 } 148 }
139 149
140 // Proto for class PropertyTrees. 150 // Proto for class PropertyTrees.
141 message PropertyTrees { 151 message PropertyTrees {
142 optional PropertyTree transform_tree = 1; 152 optional PropertyTree transform_tree = 1;
143 optional PropertyTree effect_tree = 2; 153 optional PropertyTree effect_tree = 2;
144 optional PropertyTree clip_tree = 3; 154 optional PropertyTree clip_tree = 3;
155 optional PropertyTree scroll_tree = 4;
145 156
146 optional bool needs_rebuild = 4; 157 optional bool needs_rebuild = 5;
147 optional bool non_root_surfaces_enabled = 5; 158 optional bool non_root_surfaces_enabled = 6;
148 optional int64 sequence_number = 6; 159 optional int64 sequence_number = 7;
149 } 160 }
OLDNEW
« no previous file with comments | « no previous file | cc/trees/property_tree.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698