OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/blimp/compositor_state_deserializer.h" | 5 #include "cc/blimp/compositor_state_deserializer.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "cc/blimp/client_picture_cache.h" | 9 #include "cc/blimp/client_picture_cache.h" |
10 #include "cc/blimp/compositor_state_deserializer_client.h" | 10 #include "cc/blimp/compositor_state_deserializer_client.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 // LayerFactory implementation. | 32 // LayerFactory implementation. |
33 scoped_refptr<Layer> CreateLayer(int engine_layer_id) override { | 33 scoped_refptr<Layer> CreateLayer(int engine_layer_id) override { |
34 return Layer::Create(); | 34 return Layer::Create(); |
35 } | 35 } |
36 scoped_refptr<PictureLayer> CreatePictureLayer( | 36 scoped_refptr<PictureLayer> CreatePictureLayer( |
37 int engine_layer_id, | 37 int engine_layer_id, |
38 ContentLayerClient* content_layer_client) override { | 38 ContentLayerClient* content_layer_client) override { |
39 return PictureLayer::Create(content_layer_client); | 39 return PictureLayer::Create(content_layer_client); |
40 } | 40 } |
| 41 |
| 42 scoped_refptr<PictureLayer> CreateFakePictureLayer( |
| 43 int engine_layer_id, |
| 44 ContentLayerClient* content_layer_client) override { |
| 45 // We should never create fake layers in production code. |
| 46 NOTREACHED(); |
| 47 return PictureLayer::Create(content_layer_client); |
| 48 } |
| 49 |
41 scoped_refptr<SolidColorScrollbarLayer> CreateSolidColorScrollbarLayer( | 50 scoped_refptr<SolidColorScrollbarLayer> CreateSolidColorScrollbarLayer( |
42 int engine_layer_id, | 51 int engine_layer_id, |
43 ScrollbarOrientation orientation, | 52 ScrollbarOrientation orientation, |
44 int thumb_thickness, | 53 int thumb_thickness, |
45 int track_start, | 54 int track_start, |
46 bool is_left_side_vertical_scrollbar, | 55 bool is_left_side_vertical_scrollbar, |
47 int scroll_layer_id) override { | 56 int scroll_layer_id) override { |
48 return SolidColorScrollbarLayer::Create( | 57 return SolidColorScrollbarLayer::Create( |
49 orientation, thumb_thickness, track_start, | 58 orientation, thumb_thickness, track_start, |
50 is_left_side_vertical_scrollbar, scroll_layer_id); | 59 is_left_side_vertical_scrollbar, scroll_layer_id); |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 NOTREACHED() << "Unknown Layer type"; | 363 NOTREACHED() << "Unknown Layer type"; |
355 case proto::LayerNode::LAYER: | 364 case proto::LayerNode::LAYER: |
356 layer_data.layer = layer_factory_->CreateLayer(layer_node.id()); | 365 layer_data.layer = layer_factory_->CreateLayer(layer_node.id()); |
357 break; | 366 break; |
358 case proto::LayerNode::PICTURE_LAYER: | 367 case proto::LayerNode::PICTURE_LAYER: |
359 layer_data.content_layer_client = | 368 layer_data.content_layer_client = |
360 base::MakeUnique<DeserializedContentLayerClient>(); | 369 base::MakeUnique<DeserializedContentLayerClient>(); |
361 layer_data.layer = layer_factory_->CreatePictureLayer( | 370 layer_data.layer = layer_factory_->CreatePictureLayer( |
362 layer_node.id(), layer_data.content_layer_client.get()); | 371 layer_node.id(), layer_data.content_layer_client.get()); |
363 break; | 372 break; |
| 373 case proto::LayerNode::FAKE_PICTURE_LAYER: |
| 374 layer_data.content_layer_client = |
| 375 base::MakeUnique<DeserializedContentLayerClient>(); |
| 376 layer_data.layer = layer_factory_->CreateFakePictureLayer( |
| 377 layer_node.id(), layer_data.content_layer_client.get()); |
| 378 break; |
364 case proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER: { | 379 case proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER: { |
365 // SolidColorScrollbarLayers attach their properties in the LayerNode | 380 // SolidColorScrollbarLayers attach their properties in the LayerNode |
366 // itself. | 381 // itself. |
367 const proto::SolidColorScrollbarLayerProperties& scrollbar = | 382 const proto::SolidColorScrollbarLayerProperties& scrollbar = |
368 layer_node.solid_scrollbar(); | 383 layer_node.solid_scrollbar(); |
369 | 384 |
370 DCHECK(scrollbar_layer_to_scroll_layer->find(layer_node.id()) == | 385 DCHECK(scrollbar_layer_to_scroll_layer->find(layer_node.id()) == |
371 scrollbar_layer_to_scroll_layer->end()); | 386 scrollbar_layer_to_scroll_layer->end()); |
372 int scroll_layer_id = scrollbar.scroll_layer_id(); | 387 int scroll_layer_id = scrollbar.scroll_layer_id(); |
373 (*scrollbar_layer_to_scroll_layer)[layer_node.id()] = scroll_layer_id; | 388 (*scrollbar_layer_to_scroll_layer)[layer_node.id()] = scroll_layer_id; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 DeserializedContentLayerClient* | 426 DeserializedContentLayerClient* |
412 CompositorStateDeserializer::GetContentLayerClient(int engine_layer_id) const { | 427 CompositorStateDeserializer::GetContentLayerClient(int engine_layer_id) const { |
413 EngineIdToLayerMap::const_iterator layer_it = | 428 EngineIdToLayerMap::const_iterator layer_it = |
414 engine_id_to_layer_.find(engine_layer_id); | 429 engine_id_to_layer_.find(engine_layer_id); |
415 return layer_it != engine_id_to_layer_.end() | 430 return layer_it != engine_id_to_layer_.end() |
416 ? layer_it->second.content_layer_client.get() | 431 ? layer_it->second.content_layer_client.get() |
417 : nullptr; | 432 : nullptr; |
418 } | 433 } |
419 | 434 |
420 } // namespace cc | 435 } // namespace cc |
OLD | NEW |