OLD | NEW |
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 #include "cc/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "cc/layers/empty_content_layer_client.h" | 10 #include "cc/layers/empty_content_layer_client.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 proto::LayerTreeHost proto; | 102 proto::LayerTreeHost proto; |
103 LayerTree* layer_tree_src = layer_tree_host_src_->GetLayerTree(); | 103 LayerTree* layer_tree_src = layer_tree_host_src_->GetLayerTree(); |
104 LayerTree* layer_tree_dst = layer_tree_host_dst_->GetLayerTree(); | 104 LayerTree* layer_tree_dst = layer_tree_host_dst_->GetLayerTree(); |
105 | 105 |
106 std::unordered_set<Layer*> layers_that_should_push_properties_src = | 106 std::unordered_set<Layer*> layers_that_should_push_properties_src = |
107 layer_tree_src->LayersThatShouldPushProperties(); | 107 layer_tree_src->LayersThatShouldPushProperties(); |
108 std::vector<std::unique_ptr<SwapPromise>> swap_promises; | 108 std::vector<std::unique_ptr<SwapPromise>> swap_promises; |
109 layer_tree_host_src_->ToProtobufForCommit(&proto, &swap_promises); | 109 layer_tree_host_src_->ToProtobufForCommit(&proto, &swap_promises); |
110 layer_tree_host_dst_->FromProtobufForCommit(proto); | 110 layer_tree_host_dst_->FromProtobufForCommit(proto); |
111 | 111 |
112 EXPECT_EQ(layer_tree_src->needs_full_tree_sync_, | 112 EXPECT_EQ(layer_tree_host_src_->needs_full_tree_sync_, |
113 layer_tree_dst->needs_full_tree_sync_); | 113 layer_tree_host_dst_->needs_full_tree_sync_); |
114 EXPECT_EQ(layer_tree_src->needs_meta_info_recomputation_, | 114 EXPECT_EQ(layer_tree_host_src_->needs_meta_info_recomputation_, |
115 layer_tree_dst->needs_meta_info_recomputation_); | 115 layer_tree_host_dst_->needs_meta_info_recomputation_); |
116 EXPECT_EQ(layer_tree_host_src_->source_frame_number_, | 116 EXPECT_EQ(layer_tree_host_src_->source_frame_number_, |
117 layer_tree_host_dst_->source_frame_number_); | 117 layer_tree_host_dst_->source_frame_number_); |
118 EXPECT_EQ(layer_tree_host_src_->root_layer()->id(), | 118 EXPECT_EQ(layer_tree_host_src_->root_layer()->id(), |
119 layer_tree_host_dst_->root_layer()->id()); | 119 layer_tree_host_dst_->root_layer()->id()); |
120 EXPECT_EQ(layer_tree_host_dst_.get(), | 120 EXPECT_EQ(layer_tree_host_dst_.get(), |
121 layer_tree_dst->inputs_.root_layer->layer_tree_host()); | 121 layer_tree_host_dst_->root_layer_->layer_tree_host()); |
122 EXPECT_EQ(layer_tree_src->inputs_.root_layer->double_sided(), | 122 EXPECT_EQ(layer_tree_host_src_->root_layer_->double_sided(), |
123 layer_tree_dst->inputs_.root_layer->double_sided()); | 123 layer_tree_host_dst_->root_layer_->double_sided()); |
124 EXPECT_EQ( | 124 EXPECT_EQ( |
125 layer_tree_host_src_->debug_state_.show_replica_screen_space_rects, | 125 layer_tree_host_src_->debug_state_.show_replica_screen_space_rects, |
126 layer_tree_host_dst_->debug_state_.show_replica_screen_space_rects); | 126 layer_tree_host_dst_->debug_state_.show_replica_screen_space_rects); |
127 EXPECT_EQ(layer_tree_src->inputs_.device_viewport_size, | 127 EXPECT_EQ(layer_tree_host_src_->device_viewport_size_, |
128 layer_tree_dst->inputs_.device_viewport_size); | 128 layer_tree_host_dst_->device_viewport_size_); |
129 EXPECT_EQ(layer_tree_src->inputs_.top_controls_shrink_blink_size, | 129 EXPECT_EQ(layer_tree_host_src_->top_controls_shrink_blink_size_, |
130 layer_tree_dst->inputs_.top_controls_shrink_blink_size); | 130 layer_tree_host_dst_->top_controls_shrink_blink_size_); |
131 EXPECT_EQ(layer_tree_src->inputs_.top_controls_height, | 131 EXPECT_EQ(layer_tree_host_src_->top_controls_height_, |
132 layer_tree_dst->inputs_.top_controls_height); | 132 layer_tree_host_dst_->top_controls_height_); |
133 EXPECT_EQ(layer_tree_src->inputs_.top_controls_shown_ratio, | 133 EXPECT_EQ(layer_tree_host_src_->top_controls_shown_ratio_, |
134 layer_tree_dst->inputs_.top_controls_shown_ratio); | 134 layer_tree_host_dst_->top_controls_shown_ratio_); |
135 EXPECT_EQ(layer_tree_src->inputs_.device_scale_factor, | 135 EXPECT_EQ(layer_tree_host_src_->device_scale_factor_, |
136 layer_tree_dst->inputs_.device_scale_factor); | 136 layer_tree_host_dst_->device_scale_factor_); |
137 EXPECT_EQ(layer_tree_src->inputs_.painted_device_scale_factor, | 137 EXPECT_EQ(layer_tree_host_src_->painted_device_scale_factor_, |
138 layer_tree_dst->inputs_.painted_device_scale_factor); | 138 layer_tree_host_dst_->painted_device_scale_factor_); |
139 EXPECT_EQ(layer_tree_src->inputs_.page_scale_factor, | 139 EXPECT_EQ(layer_tree_host_src_->page_scale_factor_, |
140 layer_tree_dst->inputs_.page_scale_factor); | 140 layer_tree_host_dst_->page_scale_factor_); |
141 EXPECT_EQ(layer_tree_src->inputs_.min_page_scale_factor, | 141 EXPECT_EQ(layer_tree_host_src_->min_page_scale_factor_, |
142 layer_tree_dst->inputs_.min_page_scale_factor); | 142 layer_tree_host_dst_->min_page_scale_factor_); |
143 EXPECT_EQ(layer_tree_src->inputs_.max_page_scale_factor, | 143 EXPECT_EQ(layer_tree_host_src_->max_page_scale_factor_, |
144 layer_tree_dst->inputs_.max_page_scale_factor); | 144 layer_tree_host_dst_->max_page_scale_factor_); |
145 EXPECT_EQ(layer_tree_src->elastic_overscroll_, | 145 EXPECT_EQ(layer_tree_host_src_->elastic_overscroll_, |
146 layer_tree_dst->elastic_overscroll_); | 146 layer_tree_host_dst_->elastic_overscroll_); |
147 EXPECT_EQ(layer_tree_host_src_->has_gpu_rasterization_trigger_, | 147 EXPECT_EQ(layer_tree_host_src_->has_gpu_rasterization_trigger_, |
148 layer_tree_host_dst_->has_gpu_rasterization_trigger_); | 148 layer_tree_host_dst_->has_gpu_rasterization_trigger_); |
149 EXPECT_EQ(layer_tree_host_src_->content_is_suitable_for_gpu_rasterization_, | 149 EXPECT_EQ(layer_tree_host_src_->content_is_suitable_for_gpu_rasterization_, |
150 layer_tree_host_dst_->content_is_suitable_for_gpu_rasterization_); | 150 layer_tree_host_dst_->content_is_suitable_for_gpu_rasterization_); |
151 EXPECT_EQ(layer_tree_src->inputs_.background_color, | 151 EXPECT_EQ(layer_tree_host_src_->background_color_, |
152 layer_tree_dst->inputs_.background_color); | 152 layer_tree_host_dst_->background_color_); |
153 EXPECT_EQ(layer_tree_src->inputs_.has_transparent_background, | 153 EXPECT_EQ(layer_tree_host_src_->has_transparent_background_, |
154 layer_tree_dst->inputs_.has_transparent_background); | 154 layer_tree_host_dst_->has_transparent_background_); |
155 EXPECT_EQ(layer_tree_src->in_paint_layer_contents(), | 155 EXPECT_EQ(layer_tree_src->in_paint_layer_contents(), |
156 layer_tree_dst->in_paint_layer_contents()); | 156 layer_tree_dst->in_paint_layer_contents()); |
157 EXPECT_EQ(layer_tree_host_src_->id_, layer_tree_host_dst_->id_); | 157 EXPECT_EQ(layer_tree_host_src_->id_, layer_tree_host_dst_->id_); |
158 EXPECT_EQ(layer_tree_host_src_->next_commit_forces_redraw_, | 158 EXPECT_EQ(layer_tree_host_src_->next_commit_forces_redraw_, |
159 layer_tree_host_dst_->next_commit_forces_redraw_); | 159 layer_tree_host_dst_->next_commit_forces_redraw_); |
160 for (auto* layer : layers_that_should_push_properties_src) { | 160 for (auto* layer : layers_that_should_push_properties_src) { |
161 EXPECT_TRUE(layer_tree_dst->LayerNeedsPushPropertiesForTesting( | 161 EXPECT_TRUE(layer_tree_dst->LayerNeedsPushPropertiesForTesting( |
162 layer_tree_dst->LayerById(layer->id()))); | 162 layer_tree_dst->LayerById(layer->id()))); |
163 } | 163 } |
164 | 164 |
165 if (layer_tree_src->hud_layer_) { | 165 if (layer_tree_host_src_->hud_layer_) { |
166 EXPECT_EQ(layer_tree_src->hud_layer_->id(), | 166 EXPECT_EQ(layer_tree_host_src_->hud_layer_->id(), |
167 layer_tree_dst->hud_layer_->id()); | 167 layer_tree_host_dst_->hud_layer_->id()); |
168 // The HUD layer member is a HeadsUpDisplayLayer instead of Layer, so | 168 // The HUD layer member is a HeadsUpDisplayLayer instead of Layer, so |
169 // inspect the proto to see if it contains the the right layer type. | 169 // inspect the proto to see if it contains the the right layer type. |
170 bool found_hud_layer_type = false; | 170 bool found_hud_layer_type = false; |
171 for (int i = 0; i < proto.layer_tree().root_layer().children_size(); | 171 for (int i = 0; i < proto.root_layer().children_size(); ++i) { |
172 ++i) { | 172 if (proto.root_layer().children(i).id() == |
173 if (proto.layer_tree().root_layer().children(i).id() == | 173 layer_tree_host_src_->hud_layer_->id()) { |
174 layer_tree_src->hud_layer_->id()) { | |
175 EXPECT_EQ(proto::LayerNode::HEADS_UP_DISPLAY_LAYER, | 174 EXPECT_EQ(proto::LayerNode::HEADS_UP_DISPLAY_LAYER, |
176 proto.layer_tree().root_layer().children(i).type()); | 175 proto.root_layer().children(i).type()); |
177 found_hud_layer_type = true; | 176 found_hud_layer_type = true; |
178 break; | 177 break; |
179 } | 178 } |
180 } | 179 } |
181 EXPECT_TRUE(found_hud_layer_type); | 180 EXPECT_TRUE(found_hud_layer_type); |
182 } else { | 181 } else { |
183 EXPECT_FALSE(layer_tree_dst->hud_layer_); | 182 EXPECT_FALSE(layer_tree_host_dst_->hud_layer_); |
184 } | 183 } |
185 if (layer_tree_src->overscroll_elasticity_layer()) { | 184 if (layer_tree_host_src_->overscroll_elasticity_layer_) { |
186 EXPECT_EQ(layer_tree_src->overscroll_elasticity_layer()->id(), | 185 EXPECT_EQ(layer_tree_host_src_->overscroll_elasticity_layer_->id(), |
187 layer_tree_dst->overscroll_elasticity_layer()->id()); | 186 layer_tree_host_dst_->overscroll_elasticity_layer_->id()); |
188 } else { | 187 } else { |
189 EXPECT_FALSE(layer_tree_dst->overscroll_elasticity_layer()); | 188 EXPECT_FALSE(layer_tree_host_dst_->overscroll_elasticity_layer_); |
190 } | 189 } |
191 if (layer_tree_src->page_scale_layer()) { | 190 if (layer_tree_host_src_->page_scale_layer_) { |
192 EXPECT_EQ(layer_tree_src->page_scale_layer()->id(), | 191 EXPECT_EQ(layer_tree_host_src_->page_scale_layer_->id(), |
193 layer_tree_dst->page_scale_layer()->id()); | 192 layer_tree_host_dst_->page_scale_layer_->id()); |
194 } else { | 193 } else { |
195 EXPECT_FALSE(layer_tree_dst->page_scale_layer()); | 194 EXPECT_FALSE(layer_tree_host_dst_->page_scale_layer_); |
196 } | 195 } |
197 if (layer_tree_src->inner_viewport_scroll_layer()) { | 196 if (layer_tree_host_src_->inner_viewport_scroll_layer_) { |
198 EXPECT_EQ(layer_tree_src->inner_viewport_scroll_layer()->id(), | 197 EXPECT_EQ(layer_tree_host_src_->inner_viewport_scroll_layer_->id(), |
199 layer_tree_dst->inner_viewport_scroll_layer()->id()); | 198 layer_tree_host_dst_->inner_viewport_scroll_layer_->id()); |
200 } else { | 199 } else { |
201 EXPECT_FALSE(layer_tree_dst->inner_viewport_scroll_layer()); | 200 EXPECT_FALSE(layer_tree_host_dst_->inner_viewport_scroll_layer_); |
202 } | 201 } |
203 if (layer_tree_src->outer_viewport_scroll_layer()) { | 202 if (layer_tree_host_src_->outer_viewport_scroll_layer_) { |
204 EXPECT_EQ(layer_tree_src->outer_viewport_scroll_layer()->id(), | 203 EXPECT_EQ(layer_tree_host_src_->outer_viewport_scroll_layer_->id(), |
205 layer_tree_dst->outer_viewport_scroll_layer()->id()); | 204 layer_tree_host_dst_->outer_viewport_scroll_layer_->id()); |
206 } else { | 205 } else { |
207 EXPECT_FALSE(layer_tree_dst->outer_viewport_scroll_layer()); | 206 EXPECT_FALSE(layer_tree_host_dst_->outer_viewport_scroll_layer_); |
208 } | 207 } |
209 EXPECT_EQ(layer_tree_src->inputs_.selection, | 208 EXPECT_EQ(layer_tree_host_src_->selection_, |
210 layer_tree_dst->inputs_.selection); | 209 layer_tree_host_dst_->selection_); |
211 EXPECT_EQ(layer_tree_src->property_trees_, layer_tree_dst->property_trees_); | 210 EXPECT_EQ(layer_tree_host_src_->property_trees_, |
| 211 layer_tree_host_dst_->property_trees_); |
212 EXPECT_EQ(layer_tree_host_src_->surface_client_id_, | 212 EXPECT_EQ(layer_tree_host_src_->surface_client_id_, |
213 layer_tree_host_dst_->surface_client_id_); | 213 layer_tree_host_dst_->surface_client_id_); |
214 EXPECT_EQ(layer_tree_host_src_->next_surface_sequence_, | 214 EXPECT_EQ(layer_tree_host_src_->next_surface_sequence_, |
215 layer_tree_host_dst_->next_surface_sequence_); | 215 layer_tree_host_dst_->next_surface_sequence_); |
216 | 216 |
217 // All layers must have a property tree index that matches PropertyTrees. | 217 // All layers must have a property tree index that matches PropertyTrees. |
218 if (layer_tree_dst->property_trees_.sequence_number) { | 218 if (layer_tree_host_dst_->property_trees_.sequence_number) { |
219 int seq_num = layer_tree_dst->property_trees_.sequence_number; | 219 int seq_num = layer_tree_host_dst_->property_trees_.sequence_number; |
220 LayerTreeHostCommon::CallFunctionForEveryLayer( | 220 LayerTreeHostCommon::CallFunctionForEveryLayer( |
221 layer_tree_host_dst_.get(), [seq_num](Layer* layer) { | 221 layer_tree_host_dst_.get(), [seq_num](Layer* layer) { |
222 EXPECT_EQ(seq_num, layer->property_tree_sequence_number()); | 222 EXPECT_EQ(seq_num, layer->property_tree_sequence_number()); |
223 }); | 223 }); |
224 } | 224 } |
225 } | 225 } |
226 | 226 |
227 void RunAllMembersChangedTest() { | 227 void RunAllMembersChangedTest() { |
228 LayerTree* layer_tree_src = layer_tree_host_src_->GetLayerTree(); | 228 layer_tree_host_src_->needs_full_tree_sync_ = |
229 | 229 !layer_tree_host_src_->needs_full_tree_sync_; |
230 layer_tree_src->needs_full_tree_sync_ = | 230 layer_tree_host_src_->needs_meta_info_recomputation_ = |
231 !layer_tree_src->needs_full_tree_sync_; | 231 !layer_tree_host_src_->needs_meta_info_recomputation_; |
232 layer_tree_src->needs_meta_info_recomputation_ = | |
233 !layer_tree_src->needs_meta_info_recomputation_; | |
234 layer_tree_host_src_->source_frame_number_ *= 3; | 232 layer_tree_host_src_->source_frame_number_ *= 3; |
235 | 233 |
236 // Just fake setup a layer for both source and dest. | 234 // Just fake setup a layer for both source and dest. |
237 scoped_refptr<Layer> root_layer_src = Layer::Create(); | 235 scoped_refptr<Layer> root_layer_src = Layer::Create(); |
238 layer_tree_host_src_->SetRootLayer(root_layer_src); | 236 layer_tree_host_src_->SetRootLayer(root_layer_src); |
239 layer_tree_host_dst_->SetRootLayer(Layer::Create()); | 237 layer_tree_host_dst_->SetRootLayer(Layer::Create()); |
240 root_layer_src->SetDoubleSided(!root_layer_src->double_sided()); | 238 root_layer_src->SetDoubleSided(!root_layer_src->double_sided()); |
241 | 239 |
242 layer_tree_host_src_->debug_state_.show_replica_screen_space_rects = | 240 layer_tree_host_src_->debug_state_.show_replica_screen_space_rects = |
243 !layer_tree_host_src_->debug_state_.show_replica_screen_space_rects; | 241 !layer_tree_host_src_->debug_state_.show_replica_screen_space_rects; |
244 layer_tree_src->inputs_.device_viewport_size = gfx::Size(3, 14); | 242 layer_tree_host_src_->device_viewport_size_ = gfx::Size(3, 14); |
245 layer_tree_src->inputs_.top_controls_shrink_blink_size = | 243 layer_tree_host_src_->top_controls_shrink_blink_size_ = |
246 !layer_tree_src->inputs_.top_controls_shrink_blink_size; | 244 !layer_tree_host_src_->top_controls_shrink_blink_size_; |
247 layer_tree_src->inputs_.top_controls_height = | 245 layer_tree_host_src_->top_controls_height_ = |
248 layer_tree_src->inputs_.top_controls_height * 3 + 1; | 246 layer_tree_host_src_->top_controls_height_ * 3 + 1; |
249 layer_tree_src->inputs_.top_controls_shown_ratio = | 247 layer_tree_host_src_->top_controls_shown_ratio_ = |
250 layer_tree_src->inputs_.top_controls_shown_ratio * 3 + 1; | 248 layer_tree_host_src_->top_controls_shown_ratio_ * 3 + 1; |
251 layer_tree_src->inputs_.device_scale_factor = | 249 layer_tree_host_src_->device_scale_factor_ = |
252 layer_tree_src->inputs_.device_scale_factor * 3 + 1; | 250 layer_tree_host_src_->device_scale_factor_ * 3 + 1; |
253 layer_tree_src->inputs_.painted_device_scale_factor = | 251 layer_tree_host_src_->painted_device_scale_factor_ = |
254 layer_tree_src->inputs_.painted_device_scale_factor * 3 + 1; | 252 layer_tree_host_src_->painted_device_scale_factor_ * 3 + 1; |
255 layer_tree_src->inputs_.page_scale_factor = | 253 layer_tree_host_src_->page_scale_factor_ = |
256 layer_tree_src->inputs_.page_scale_factor * 3 + 1; | 254 layer_tree_host_src_->page_scale_factor_ * 3 + 1; |
257 layer_tree_src->inputs_.min_page_scale_factor = | 255 layer_tree_host_src_->min_page_scale_factor_ = |
258 layer_tree_src->inputs_.min_page_scale_factor * 3 + 1; | 256 layer_tree_host_src_->min_page_scale_factor_ * 3 + 1; |
259 layer_tree_src->inputs_.max_page_scale_factor = | 257 layer_tree_host_src_->max_page_scale_factor_ = |
260 layer_tree_src->inputs_.max_page_scale_factor * 3 + 1; | 258 layer_tree_host_src_->max_page_scale_factor_ * 3 + 1; |
261 layer_tree_host_src_->elastic_overscroll_ = gfx::Vector2dF(3, 14); | 259 layer_tree_host_src_->elastic_overscroll_ = gfx::Vector2dF(3, 14); |
262 layer_tree_host_src_->has_gpu_rasterization_trigger_ = | 260 layer_tree_host_src_->has_gpu_rasterization_trigger_ = |
263 !layer_tree_host_src_->has_gpu_rasterization_trigger_; | 261 !layer_tree_host_src_->has_gpu_rasterization_trigger_; |
264 layer_tree_host_src_->content_is_suitable_for_gpu_rasterization_ = | 262 layer_tree_host_src_->content_is_suitable_for_gpu_rasterization_ = |
265 !layer_tree_host_src_->content_is_suitable_for_gpu_rasterization_; | 263 !layer_tree_host_src_->content_is_suitable_for_gpu_rasterization_; |
266 layer_tree_src->inputs_.background_color = SK_ColorMAGENTA; | 264 layer_tree_host_src_->background_color_ = SK_ColorMAGENTA; |
267 layer_tree_src->inputs_.has_transparent_background = | 265 layer_tree_host_src_->has_transparent_background_ = |
268 !layer_tree_src->inputs_.has_transparent_background; | 266 !layer_tree_host_src_->has_transparent_background_; |
269 layer_tree_host_src_->id_ = layer_tree_host_src_->id_ * 3 + 1; | 267 layer_tree_host_src_->id_ = layer_tree_host_src_->id_ * 3 + 1; |
270 layer_tree_host_src_->next_commit_forces_redraw_ = | 268 layer_tree_host_src_->next_commit_forces_redraw_ = |
271 !layer_tree_host_src_->next_commit_forces_redraw_; | 269 !layer_tree_host_src_->next_commit_forces_redraw_; |
272 | 270 |
273 layer_tree_src->hud_layer_ = HeadsUpDisplayLayer::Create(); | 271 layer_tree_host_src_->hud_layer_ = HeadsUpDisplayLayer::Create(); |
274 root_layer_src->AddChild(layer_tree_src->hud_layer_); | 272 root_layer_src->AddChild(layer_tree_host_src_->hud_layer_); |
275 | 273 layer_tree_host_src_->overscroll_elasticity_layer_ = Layer::Create(); |
276 scoped_refptr<Layer> overscroll_elasticity_layer = Layer::Create(); | 274 root_layer_src->AddChild( |
277 scoped_refptr<Layer> page_scale_layer = Layer::Create(); | 275 layer_tree_host_src_->overscroll_elasticity_layer_); |
278 scoped_refptr<Layer> inner_viewport_scroll_layer = Layer::Create(); | 276 layer_tree_host_src_->page_scale_layer_ = Layer::Create(); |
279 scoped_refptr<Layer> outer_viewport_scroll_layer = Layer::Create(); | 277 root_layer_src->AddChild(layer_tree_host_src_->page_scale_layer_); |
280 | 278 layer_tree_host_src_->inner_viewport_scroll_layer_ = Layer::Create(); |
281 root_layer_src->AddChild(overscroll_elasticity_layer); | 279 root_layer_src->AddChild( |
282 root_layer_src->AddChild(page_scale_layer); | 280 layer_tree_host_src_->inner_viewport_scroll_layer_); |
283 root_layer_src->AddChild(inner_viewport_scroll_layer); | 281 layer_tree_host_src_->outer_viewport_scroll_layer_ = Layer::Create(); |
284 root_layer_src->AddChild(outer_viewport_scroll_layer); | 282 root_layer_src->AddChild( |
285 | 283 layer_tree_host_src_->outer_viewport_scroll_layer_); |
286 layer_tree_src->RegisterViewportLayers( | |
287 overscroll_elasticity_layer, page_scale_layer, | |
288 inner_viewport_scroll_layer, outer_viewport_scroll_layer); | |
289 | 284 |
290 // Set in_paint_layer_contents_ only after all calls to AddChild() have | 285 // Set in_paint_layer_contents_ only after all calls to AddChild() have |
291 // finished to ensure it's allowed to do so at that time. | 286 // finished to ensure it's allowed to do so at that time. |
| 287 LayerTree* layer_tree_src = layer_tree_host_src_->GetLayerTree(); |
292 layer_tree_src->in_paint_layer_contents_ = | 288 layer_tree_src->in_paint_layer_contents_ = |
293 !layer_tree_src->in_paint_layer_contents(); | 289 !layer_tree_src->in_paint_layer_contents(); |
294 | 290 |
295 LayerSelectionBound sel_bound; | 291 LayerSelectionBound sel_bound; |
296 sel_bound.edge_top = gfx::Point(14, 3); | 292 sel_bound.edge_top = gfx::Point(14, 3); |
297 LayerSelection selection; | 293 LayerSelection selection; |
298 selection.start = sel_bound; | 294 selection.start = sel_bound; |
299 layer_tree_src->inputs_.selection = selection; | 295 layer_tree_host_src_->selection_ = selection; |
300 | 296 |
301 layer_tree_src->property_trees_.sequence_number = | 297 layer_tree_host_src_->property_trees_.sequence_number = |
302 layer_tree_src->property_trees_.sequence_number * 3 + 1; | 298 layer_tree_host_src_->property_trees_.sequence_number * 3 + 1; |
303 | 299 |
304 layer_tree_host_src_->surface_client_id_ = | 300 layer_tree_host_src_->surface_client_id_ = |
305 layer_tree_host_src_->surface_client_id_ * 3 + 1; | 301 layer_tree_host_src_->surface_client_id_ * 3 + 1; |
306 layer_tree_host_src_->next_surface_sequence_ = | 302 layer_tree_host_src_->next_surface_sequence_ = |
307 layer_tree_host_src_->next_surface_sequence_ * 3 + 1; | 303 layer_tree_host_src_->next_surface_sequence_ * 3 + 1; |
308 | 304 |
309 VerifySerializationAndDeserialization(); | 305 VerifySerializationAndDeserialization(); |
310 } | 306 } |
311 | 307 |
312 void RunLayersChangedTest() { | 308 void RunLayersChangedTest() { |
313 // Just fake setup a layer for both source and dest. | 309 // Just fake setup a layer for both source and dest. |
314 scoped_refptr<Layer> root_layer_src = Layer::Create(); | 310 scoped_refptr<Layer> root_layer_src = Layer::Create(); |
315 layer_tree_host_src_->SetRootLayer(root_layer_src); | 311 layer_tree_host_src_->SetRootLayer(root_layer_src); |
316 layer_tree_host_dst_->SetRootLayer(Layer::Create()); | 312 layer_tree_host_dst_->SetRootLayer(Layer::Create()); |
317 root_layer_src->SetDoubleSided(!root_layer_src->double_sided()); | 313 root_layer_src->SetDoubleSided(!root_layer_src->double_sided()); |
318 | 314 |
319 // No HUD layer or |overscroll_elasticity_layer_|, or the inner/outer | 315 // No HUD layer or |overscroll_elasticity_layer_|, or the inner/outer |
320 // viewport scroll layers. | 316 // viewport scroll layers. |
321 scoped_refptr<Layer> overscroll_elasticity_layer = Layer::Create(); | 317 layer_tree_host_src_->overscroll_elasticity_layer_ = Layer::Create(); |
322 layer_tree_host_src_->GetLayerTree()->inputs_.overscroll_elasticity_layer = | 318 root_layer_src->AddChild( |
323 overscroll_elasticity_layer; | 319 layer_tree_host_src_->overscroll_elasticity_layer_); |
324 root_layer_src->AddChild(overscroll_elasticity_layer); | |
325 | 320 |
326 VerifySerializationAndDeserialization(); | 321 VerifySerializationAndDeserialization(); |
327 } | 322 } |
328 | 323 |
329 void RunLayersChangedMultipleSerializations() { | 324 void RunLayersChangedMultipleSerializations() { |
330 // Just fake setup a layer for both source and dest. | 325 // Just fake setup a layer for both source and dest. |
331 scoped_refptr<Layer> root_layer_src = Layer::Create(); | 326 scoped_refptr<Layer> root_layer_src = Layer::Create(); |
332 layer_tree_host_src_->SetRootLayer(root_layer_src); | 327 layer_tree_host_src_->SetRootLayer(root_layer_src); |
333 layer_tree_host_dst_->SetRootLayer(Layer::Create()); | 328 layer_tree_host_dst_->SetRootLayer(Layer::Create()); |
334 root_layer_src->SetDoubleSided(!root_layer_src->double_sided()); | 329 root_layer_src->SetDoubleSided(!root_layer_src->double_sided()); |
335 | 330 |
336 LayerTree* layer_tree_src = layer_tree_host_src_->GetLayerTree(); | |
337 | |
338 // Ensure that all the layers work correctly for multiple rounds of | 331 // Ensure that all the layers work correctly for multiple rounds of |
339 // serialization and deserialization. | 332 // serialization and deserialization. |
340 layer_tree_src->hud_layer_ = HeadsUpDisplayLayer::Create(); | 333 layer_tree_host_src_->hud_layer_ = HeadsUpDisplayLayer::Create(); |
341 root_layer_src->AddChild(layer_tree_src->hud_layer_); | 334 root_layer_src->AddChild(layer_tree_host_src_->hud_layer_); |
342 | 335 layer_tree_host_src_->overscroll_elasticity_layer_ = Layer::Create(); |
343 scoped_refptr<Layer> overscroll_elasticity_layer = Layer::Create(); | 336 root_layer_src->AddChild( |
344 scoped_refptr<Layer> page_scale_layer = Layer::Create(); | 337 layer_tree_host_src_->overscroll_elasticity_layer_); |
345 scoped_refptr<Layer> inner_viewport_scroll_layer = Layer::Create(); | 338 layer_tree_host_src_->page_scale_layer_ = Layer::Create(); |
346 scoped_refptr<Layer> outer_viewport_scroll_layer = Layer::Create(); | 339 root_layer_src->AddChild(layer_tree_host_src_->page_scale_layer_); |
347 | 340 layer_tree_host_src_->inner_viewport_scroll_layer_ = Layer::Create(); |
348 root_layer_src->AddChild(overscroll_elasticity_layer); | 341 root_layer_src->AddChild( |
349 root_layer_src->AddChild(page_scale_layer); | 342 layer_tree_host_src_->inner_viewport_scroll_layer_); |
350 root_layer_src->AddChild(inner_viewport_scroll_layer); | 343 layer_tree_host_src_->outer_viewport_scroll_layer_ = Layer::Create(); |
351 root_layer_src->AddChild(outer_viewport_scroll_layer); | 344 root_layer_src->AddChild( |
352 layer_tree_host_src_->GetLayerTree()->RegisterViewportLayers( | 345 layer_tree_host_src_->outer_viewport_scroll_layer_); |
353 overscroll_elasticity_layer, page_scale_layer, | |
354 inner_viewport_scroll_layer, outer_viewport_scroll_layer); | |
355 | 346 |
356 VerifySerializationAndDeserialization(); | 347 VerifySerializationAndDeserialization(); |
357 VerifySerializationAndDeserialization(); | 348 VerifySerializationAndDeserialization(); |
358 | 349 |
359 layer_tree_src->hud_layer_ = nullptr; | 350 layer_tree_host_src_->hud_layer_ = nullptr; |
360 VerifySerializationAndDeserialization(); | 351 VerifySerializationAndDeserialization(); |
361 layer_tree_host_src_->GetLayerTree()->inputs_.overscroll_elasticity_layer = | 352 layer_tree_host_src_->overscroll_elasticity_layer_ = nullptr; |
362 nullptr; | |
363 VerifySerializationAndDeserialization(); | 353 VerifySerializationAndDeserialization(); |
364 layer_tree_host_src_->GetLayerTree()->inputs_.page_scale_layer = nullptr; | 354 layer_tree_host_src_->page_scale_layer_ = nullptr; |
365 VerifySerializationAndDeserialization(); | 355 VerifySerializationAndDeserialization(); |
366 layer_tree_host_src_->GetLayerTree()->inputs_.inner_viewport_scroll_layer = | 356 layer_tree_host_src_->inner_viewport_scroll_layer_ = nullptr; |
367 nullptr; | |
368 VerifySerializationAndDeserialization(); | 357 VerifySerializationAndDeserialization(); |
369 layer_tree_host_src_->GetLayerTree()->inputs_.outer_viewport_scroll_layer = | 358 layer_tree_host_src_->outer_viewport_scroll_layer_ = nullptr; |
370 nullptr; | |
371 VerifySerializationAndDeserialization(); | 359 VerifySerializationAndDeserialization(); |
372 } | 360 } |
373 | 361 |
374 void RunPictureLayerMultipleSerializationsTest() { | 362 void RunPictureLayerMultipleSerializationsTest() { |
375 // Just fake setup a layer for both source and dest. | 363 // Just fake setup a layer for both source and dest. |
376 scoped_refptr<Layer> root_layer_src = Layer::Create(); | 364 scoped_refptr<Layer> root_layer_src = Layer::Create(); |
377 layer_tree_host_src_->SetRootLayer(root_layer_src); | 365 layer_tree_host_src_->SetRootLayer(root_layer_src); |
378 layer_tree_host_dst_->SetRootLayer(Layer::Create()); | 366 layer_tree_host_dst_->SetRootLayer(Layer::Create()); |
379 | 367 |
380 // Ensure that a PictureLayer work correctly for multiple rounds of | 368 // Ensure that a PictureLayer work correctly for multiple rounds of |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 | 451 |
464 TEST_F(LayerTreeHostSerializationTest, AddAndRemoveNodeFromLayerTree) { | 452 TEST_F(LayerTreeHostSerializationTest, AddAndRemoveNodeFromLayerTree) { |
465 RunAddAndRemoveNodeFromLayerTree(); | 453 RunAddAndRemoveNodeFromLayerTree(); |
466 } | 454 } |
467 | 455 |
468 TEST_F(LayerTreeHostSerializationTest, PictureLayerMultipleSerializations) { | 456 TEST_F(LayerTreeHostSerializationTest, PictureLayerMultipleSerializations) { |
469 RunPictureLayerMultipleSerializationsTest(); | 457 RunPictureLayerMultipleSerializationsTest(); |
470 } | 458 } |
471 | 459 |
472 } // namespace cc | 460 } // namespace cc |
OLD | NEW |