| 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 |  | 
| 50   scoped_refptr<SolidColorScrollbarLayer> CreateSolidColorScrollbarLayer( | 41   scoped_refptr<SolidColorScrollbarLayer> CreateSolidColorScrollbarLayer( | 
| 51       int engine_layer_id, | 42       int engine_layer_id, | 
| 52       ScrollbarOrientation orientation, | 43       ScrollbarOrientation orientation, | 
| 53       int thumb_thickness, | 44       int thumb_thickness, | 
| 54       int track_start, | 45       int track_start, | 
| 55       bool is_left_side_vertical_scrollbar, | 46       bool is_left_side_vertical_scrollbar, | 
| 56       int scroll_layer_id) override { | 47       int scroll_layer_id) override { | 
| 57     return SolidColorScrollbarLayer::Create( | 48     return SolidColorScrollbarLayer::Create( | 
| 58         orientation, thumb_thickness, track_start, | 49         orientation, thumb_thickness, track_start, | 
| 59         is_left_side_vertical_scrollbar, scroll_layer_id); | 50         is_left_side_vertical_scrollbar, scroll_layer_id); | 
| 60   } | 51   } | 
|  | 52   scoped_refptr<PictureLayer> CreateFakePictureLayer( | 
|  | 53       int engine_layer_id, | 
|  | 54       ContentLayerClient* content_layer_client) override { | 
|  | 55     // We should never create fake layers in production code. | 
|  | 56     NOTREACHED(); | 
|  | 57     return PictureLayer::Create(content_layer_client); | 
|  | 58   } | 
|  | 59   scoped_refptr<Layer> CreatePushPropertiesCountingLayer( | 
|  | 60       int engine_layer_id) override { | 
|  | 61     // We should never create fake layers in production code. | 
|  | 62     NOTREACHED(); | 
|  | 63     return Layer::Create(); | 
|  | 64   } | 
| 61 }; | 65 }; | 
| 62 | 66 | 
| 63 }  // namespace | 67 }  // namespace | 
| 64 | 68 | 
| 65 CompositorStateDeserializer::LayerData::LayerData() = default; | 69 CompositorStateDeserializer::LayerData::LayerData() = default; | 
| 66 | 70 | 
| 67 CompositorStateDeserializer::LayerData::~LayerData() = default; | 71 CompositorStateDeserializer::LayerData::~LayerData() = default; | 
| 68 | 72 | 
| 69 CompositorStateDeserializer::LayerData::LayerData(LayerData&& other) = default; | 73 CompositorStateDeserializer::LayerData::LayerData(LayerData&& other) = default; | 
| 70 | 74 | 
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 364     case proto::LayerNode::LAYER: | 368     case proto::LayerNode::LAYER: | 
| 365       layer_data.layer = layer_factory_->CreateLayer(layer_node.id()); | 369       layer_data.layer = layer_factory_->CreateLayer(layer_node.id()); | 
| 366       break; | 370       break; | 
| 367     case proto::LayerNode::PICTURE_LAYER: | 371     case proto::LayerNode::PICTURE_LAYER: | 
| 368       layer_data.content_layer_client = | 372       layer_data.content_layer_client = | 
| 369           base::MakeUnique<DeserializedContentLayerClient>(); | 373           base::MakeUnique<DeserializedContentLayerClient>(); | 
| 370       layer_data.layer = layer_factory_->CreatePictureLayer( | 374       layer_data.layer = layer_factory_->CreatePictureLayer( | 
| 371           layer_node.id(), layer_data.content_layer_client.get()); | 375           layer_node.id(), layer_data.content_layer_client.get()); | 
| 372       break; | 376       break; | 
| 373     case proto::LayerNode::FAKE_PICTURE_LAYER: | 377     case proto::LayerNode::FAKE_PICTURE_LAYER: | 
|  | 378       // FAKE_PICTURE_LAYER is for testing only. | 
| 374       layer_data.content_layer_client = | 379       layer_data.content_layer_client = | 
| 375           base::MakeUnique<DeserializedContentLayerClient>(); | 380           base::MakeUnique<DeserializedContentLayerClient>(); | 
| 376       layer_data.layer = layer_factory_->CreateFakePictureLayer( | 381       layer_data.layer = layer_factory_->CreateFakePictureLayer( | 
| 377           layer_node.id(), layer_data.content_layer_client.get()); | 382           layer_node.id(), layer_data.content_layer_client.get()); | 
| 378       break; | 383       break; | 
| 379     case proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER: { | 384     case proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER: { | 
| 380       // SolidColorScrollbarLayers attach their properties in the LayerNode | 385       // SolidColorScrollbarLayers attach their properties in the LayerNode | 
| 381       // itself. | 386       // itself. | 
| 382       const proto::SolidColorScrollbarLayerProperties& scrollbar = | 387       const proto::SolidColorScrollbarLayerProperties& scrollbar = | 
| 383           layer_node.solid_scrollbar(); | 388           layer_node.solid_scrollbar(); | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 396 | 401 | 
| 397       // We use the invalid id for the |scroll_layer_id| because the | 402       // We use the invalid id for the |scroll_layer_id| because the | 
| 398       // corresponding layer on the client may not have been created yet. | 403       // corresponding layer on the client may not have been created yet. | 
| 399       layer_data.layer = layer_factory_->CreateSolidColorScrollbarLayer( | 404       layer_data.layer = layer_factory_->CreateSolidColorScrollbarLayer( | 
| 400           layer_node.id(), orientation, thumb_thickness, track_start, | 405           layer_node.id(), orientation, thumb_thickness, track_start, | 
| 401           is_left_side_vertical_scrollbar, Layer::LayerIdLabels::INVALID_ID); | 406           is_left_side_vertical_scrollbar, Layer::LayerIdLabels::INVALID_ID); | 
| 402     } break; | 407     } break; | 
| 403     case proto::LayerNode::HEADS_UP_DISPLAY_LAYER: | 408     case proto::LayerNode::HEADS_UP_DISPLAY_LAYER: | 
| 404       // TODO(khushalsagar): Remove this from proto. | 409       // TODO(khushalsagar): Remove this from proto. | 
| 405       NOTREACHED(); | 410       NOTREACHED(); | 
|  | 411       break; | 
|  | 412     case proto::LayerNode::PUSH_PROPERTIES_COUNTING_LAYER: | 
|  | 413       // PUSH_PROPERTIES_COUNTING_LAYER is for testing only. | 
|  | 414       layer_data.layer = | 
|  | 415           layer_factory_->CreatePushPropertiesCountingLayer(layer_node.id()); | 
|  | 416       break; | 
| 406   } | 417   } | 
| 407 | 418 | 
| 408   layer = layer_data.layer; | 419   layer = layer_data.layer; | 
| 409   return layer; | 420   return layer; | 
| 410 } | 421 } | 
| 411 | 422 | 
| 412 int CompositorStateDeserializer::GetClientIdFromEngineId( | 423 int CompositorStateDeserializer::GetClientIdFromEngineId( | 
| 413     int engine_layer_id) const { | 424     int engine_layer_id) const { | 
| 414   Layer* layer = GetLayerForEngineId(engine_layer_id); | 425   Layer* layer = GetLayerForEngineId(engine_layer_id); | 
| 415   return layer ? layer->id() : Layer::LayerIdLabels::INVALID_ID; | 426   return layer ? layer->id() : Layer::LayerIdLabels::INVALID_ID; | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
| 426 DeserializedContentLayerClient* | 437 DeserializedContentLayerClient* | 
| 427 CompositorStateDeserializer::GetContentLayerClient(int engine_layer_id) const { | 438 CompositorStateDeserializer::GetContentLayerClient(int engine_layer_id) const { | 
| 428   EngineIdToLayerMap::const_iterator layer_it = | 439   EngineIdToLayerMap::const_iterator layer_it = | 
| 429       engine_id_to_layer_.find(engine_layer_id); | 440       engine_id_to_layer_.find(engine_layer_id); | 
| 430   return layer_it != engine_id_to_layer_.end() | 441   return layer_it != engine_id_to_layer_.end() | 
| 431              ? layer_it->second.content_layer_client.get() | 442              ? layer_it->second.content_layer_client.get() | 
| 432              : nullptr; | 443              : nullptr; | 
| 433 } | 444 } | 
| 434 | 445 | 
| 435 }  // namespace cc | 446 }  // namespace cc | 
| OLD | NEW | 
|---|