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

Unified Diff: cc/blimp/compositor_state_deserializer.cc

Issue 2646623002: cc: Remove all blimp code from cc. (Closed)
Patch Set: test build Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/blimp/compositor_state_deserializer.h ('k') | cc/blimp/compositor_state_deserializer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/blimp/compositor_state_deserializer.cc
diff --git a/cc/blimp/compositor_state_deserializer.cc b/cc/blimp/compositor_state_deserializer.cc
deleted file mode 100644
index 1ea4dd05e5ff2b03c6000815238e1779ae391055..0000000000000000000000000000000000000000
--- a/cc/blimp/compositor_state_deserializer.cc
+++ /dev/null
@@ -1,556 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "cc/blimp/compositor_state_deserializer.h"
-
-#include "base/bind.h"
-#include "base/memory/ptr_util.h"
-#include "cc/blimp/client_picture_cache.h"
-#include "cc/blimp/deserialized_content_layer_client.h"
-#include "cc/blimp/layer_factory.h"
-#include "cc/blimp/picture_data_conversions.h"
-#include "cc/input/layer_selection_bound.h"
-#include "cc/layers/layer.h"
-#include "cc/layers/picture_layer.h"
-#include "cc/layers/solid_color_scrollbar_layer.h"
-#include "cc/proto/cc_conversions.h"
-#include "cc/proto/client_state_update.pb.h"
-#include "cc/proto/gfx_conversions.h"
-#include "cc/proto/layer_tree_host.pb.h"
-#include "cc/proto/skia_conversions.h"
-#include "cc/trees/layer_tree_host_common.h"
-#include "cc/trees/layer_tree_host_in_process.h"
-
-namespace cc {
-namespace {
-
-class DefaultLayerFactory : public LayerFactory {
- public:
- DefaultLayerFactory() = default;
- ~DefaultLayerFactory() override = default;
-
- // LayerFactory implementation.
- scoped_refptr<Layer> CreateLayer(int engine_layer_id) override {
- return Layer::Create();
- }
- scoped_refptr<PictureLayer> CreatePictureLayer(
- int engine_layer_id,
- ContentLayerClient* content_layer_client) override {
- return PictureLayer::Create(content_layer_client);
- }
- scoped_refptr<SolidColorScrollbarLayer> CreateSolidColorScrollbarLayer(
- int engine_layer_id,
- ScrollbarOrientation orientation,
- int thumb_thickness,
- int track_start,
- bool is_left_side_vertical_scrollbar,
- int scroll_layer_id) override {
- return SolidColorScrollbarLayer::Create(
- orientation, thumb_thickness, track_start,
- is_left_side_vertical_scrollbar, scroll_layer_id);
- }
- scoped_refptr<PictureLayer> CreateFakePictureLayer(
- int engine_layer_id,
- ContentLayerClient* content_layer_client) override {
- // We should never create fake layers in production code.
- NOTREACHED();
- return PictureLayer::Create(content_layer_client);
- }
- scoped_refptr<Layer> CreatePushPropertiesCountingLayer(
- int engine_layer_id) override {
- // We should never create fake layers in production code.
- NOTREACHED();
- return Layer::Create();
- }
-};
-
-} // namespace
-
-CompositorStateDeserializer::LayerData::LayerData() = default;
-
-CompositorStateDeserializer::LayerData::~LayerData() = default;
-
-CompositorStateDeserializer::LayerData::LayerData(LayerData&& other) = default;
-
-CompositorStateDeserializer::LayerData& CompositorStateDeserializer::LayerData::
-operator=(LayerData&& other) = default;
-
-CompositorStateDeserializer::CompositorStateDeserializer(
- LayerTreeHostInProcess* layer_tree_host,
- std::unique_ptr<ClientPictureCache> client_picture_cache,
- CompositorStateDeserializerClient* client)
- : layer_factory_(base::MakeUnique<DefaultLayerFactory>()),
- layer_tree_host_(layer_tree_host),
- client_picture_cache_(std::move(client_picture_cache)),
- client_(client),
- weak_factory_(this) {
- DCHECK(layer_tree_host_);
- DCHECK(client_);
-}
-
-CompositorStateDeserializer::~CompositorStateDeserializer() = default;
-
-Layer* CompositorStateDeserializer::GetLayerForEngineId(
- int engine_layer_id) const {
- EngineIdToLayerMap::const_iterator layer_it =
- engine_id_to_layer_.find(engine_layer_id);
- return layer_it != engine_id_to_layer_.end() ? layer_it->second.layer.get()
- : nullptr;
-}
-
-void CompositorStateDeserializer::DeserializeCompositorUpdate(
- const proto::LayerTreeHost& layer_tree_host_proto) {
- SychronizeLayerTreeState(layer_tree_host_proto.layer_tree());
-
- // Ensure ClientPictureCache contains all the necessary SkPictures before
- // deserializing the properties.
- proto::SkPictures proto_pictures = layer_tree_host_proto.pictures();
- std::vector<PictureData> pictures =
- SkPicturesProtoToPictureDataVector(proto_pictures);
- client_picture_cache_->ApplyCacheUpdate(pictures);
-
- const proto::LayerUpdate& layer_updates =
- layer_tree_host_proto.layer_updates();
- for (int i = 0; i < layer_updates.layers_size(); ++i) {
- SynchronizeLayerState(layer_updates.layers(i));
- }
-
- // The deserialization is finished, so now clear the cache.
- client_picture_cache_->Flush();
-}
-
-void CompositorStateDeserializer::SetLayerFactoryForTesting(
- std::unique_ptr<LayerFactory> layer_factory) {
- layer_factory_ = std::move(layer_factory);
-}
-
-void CompositorStateDeserializer::ApplyViewportDeltas(
- const gfx::Vector2dF& inner_delta,
- const gfx::Vector2dF& outer_delta,
- const gfx::Vector2dF& elastic_overscroll_delta,
- float page_scale,
- float top_controls_delta) {
- DCHECK_EQ(top_controls_delta, 0.0f);
- DCHECK(elastic_overscroll_delta == gfx::Vector2dF());
- DCHECK(outer_delta == gfx::Vector2dF());
-
- // The inner_delta can be ignored here, since we receive that in the scroll
- // callback on the layer itself.
- if (page_scale != 1.0f) {
- LayerTree* layer_tree = layer_tree_host_->GetLayerTree();
- synced_page_scale_.UpdateDeltaFromImplThread(
- layer_tree->page_scale_factor());
- layer_tree->SetPageScaleFactorAndLimits(
- synced_page_scale_.EngineMain(), layer_tree->min_page_scale_factor(),
- layer_tree->max_page_scale_factor());
- client_->DidUpdateLocalState();
- }
-}
-
-void CompositorStateDeserializer::PullClientStateUpdate(
- proto::ClientStateUpdate* client_state_update) {
- for (auto& layer_it : engine_id_to_layer_) {
- int engine_layer_id = layer_it.first;
- auto& synced_scroll_offset = layer_it.second.synced_scroll_offset;
- gfx::ScrollOffset scroll_offset_delta =
- synced_scroll_offset.PullDeltaForEngineUpdate();
- gfx::Vector2dF scroll_delta_vector =
- gfx::ScrollOffsetToVector2dF(scroll_offset_delta);
-
- if (scroll_delta_vector.IsZero()) {
- continue;
- }
-
- proto::ScrollUpdate* scroll_update =
- client_state_update->add_scroll_updates();
- scroll_update->set_layer_id(engine_layer_id);
- Vector2dFToProto(scroll_delta_vector,
- scroll_update->mutable_scroll_delta());
- }
-
- float page_scale_delta = synced_page_scale_.PullDeltaForEngineUpdate();
- if (page_scale_delta != 1.0f) {
- client_state_update->set_page_scale_delta(page_scale_delta);
- }
-}
-
-void CompositorStateDeserializer::DidApplyStateUpdatesOnEngine() {
- for (auto& layer_it : engine_id_to_layer_) {
- Layer* layer = layer_it.second.layer.get();
- auto& synced_scroll_offset = layer_it.second.synced_scroll_offset;
-
- synced_scroll_offset.DidApplySentDeltaOnEngine();
- layer->SetScrollOffset(synced_scroll_offset.EngineMain());
- }
-
- synced_page_scale_.DidApplySentDeltaOnEngine();
- LayerTree* layer_tree = layer_tree_host_->GetLayerTree();
- layer_tree->SetPageScaleFactorAndLimits(synced_page_scale_.EngineMain(),
- layer_tree->min_page_scale_factor(),
- layer_tree->max_page_scale_factor());
-}
-
-void CompositorStateDeserializer::SendUnappliedDeltasToLayerTreeHost() {
- std::unique_ptr<ReflectedMainFrameState> reflected_main_frame_state =
- base::MakeUnique<ReflectedMainFrameState>();
-
- for (auto& layer_it : engine_id_to_layer_) {
- Layer* layer = layer_it.second.layer.get();
- auto& synced_scroll_offset = layer_it.second.synced_scroll_offset;
-
- gfx::ScrollOffset scroll_offset_delta =
- synced_scroll_offset.DeltaNotAppliedOnEngine();
- gfx::Vector2dF scroll_delta_vector =
- gfx::ScrollOffsetToVector2dF(scroll_offset_delta);
- if (scroll_delta_vector.IsZero())
- continue;
-
- ReflectedMainFrameState::ScrollUpdate scroll_update;
- scroll_update.layer_id = layer->id();
- scroll_update.scroll_delta = scroll_delta_vector;
- reflected_main_frame_state->scrolls.push_back(scroll_update);
- }
-
- reflected_main_frame_state->page_scale_delta =
- synced_page_scale_.DeltaNotAppliedOnEngine();
- layer_tree_host_->SetReflectedMainFrameState(
- std::move(reflected_main_frame_state));
-}
-
-void CompositorStateDeserializer::SychronizeLayerTreeState(
- const proto::LayerTree& layer_tree_proto) {
- LayerTree* layer_tree = layer_tree_host_->GetLayerTree();
-
- // Synchronize the tree hierarchy first.
- // TODO(khushalsagar): Don't do this if the hierarchy didn't change. See
- // crbug.com/605170.
- EngineIdToLayerMap new_engine_id_to_layer;
- ScrollbarLayerToScrollLayerId scrollbar_layer_to_scroll_layer;
- if (layer_tree_proto.has_root_layer()) {
- const proto::LayerNode& root_layer_node = layer_tree_proto.root_layer();
- layer_tree->SetRootLayer(
- GetLayerAndAddToNewMap(root_layer_node, &new_engine_id_to_layer,
- &scrollbar_layer_to_scroll_layer));
- SynchronizeLayerHierarchyRecursive(layer_tree->root_layer(),
- root_layer_node, &new_engine_id_to_layer,
- &scrollbar_layer_to_scroll_layer);
- } else {
- layer_tree->SetRootLayer(nullptr);
- }
- engine_id_to_layer_.swap(new_engine_id_to_layer);
-
- // Now that the tree has been synced, we can set up the scroll layers, since
- // the corresponding engine layers have been created.
- for (const auto& scrollbar : scrollbar_layer_to_scroll_layer) {
- // This corresponds to the id of the Scrollbar Layer.
- int scrollbar_layer_id = scrollbar.first;
-
- // This corresponds to the id of the scroll layer for this scrollbar.
- int scroll_layer_id = scrollbar.second;
-
- SolidColorScrollbarLayer* scrollbar_layer =
- static_cast<SolidColorScrollbarLayer*>(
- GetLayerForEngineId(scrollbar_layer_id));
-
- scrollbar_layer->SetScrollLayer(GetClientIdFromEngineId(scroll_layer_id));
- }
-
- // Synchronize rest of the tree state.
- layer_tree->RegisterViewportLayers(
- GetLayer(layer_tree_proto.overscroll_elasticity_layer_id()),
- GetLayer(layer_tree_proto.page_scale_layer_id()),
- GetLayer(layer_tree_proto.inner_viewport_scroll_layer_id()),
- GetLayer(layer_tree_proto.outer_viewport_scroll_layer_id()));
-
- layer_tree->SetDeviceScaleFactor(layer_tree_proto.device_scale_factor());
- layer_tree->SetPaintedDeviceScaleFactor(
- layer_tree_proto.painted_device_scale_factor());
-
- float min_page_scale_factor = layer_tree_proto.min_page_scale_factor();
- float max_page_scale_factor = layer_tree_proto.max_page_scale_factor();
- float page_scale_factor = layer_tree_proto.page_scale_factor();
- synced_page_scale_.PushFromEngineMainThread(page_scale_factor);
- layer_tree->SetPageScaleFactorAndLimits(synced_page_scale_.EngineMain(),
- min_page_scale_factor,
- max_page_scale_factor);
-
- layer_tree->set_background_color(layer_tree_proto.background_color());
- layer_tree->set_has_transparent_background(
- layer_tree_proto.has_transparent_background());
-
- LayerSelection selection;
- LayerSelectionFromProtobuf(&selection, layer_tree_proto.selection());
- layer_tree->RegisterSelection(selection);
- layer_tree->SetViewportSize(
- ProtoToSize(layer_tree_proto.device_viewport_size()));
-
- layer_tree->SetHaveScrollEventHandlers(
- layer_tree_proto.have_scroll_event_handlers());
- layer_tree->SetEventListenerProperties(
- EventListenerClass::kMouseWheel,
- static_cast<EventListenerProperties>(
- layer_tree_proto.wheel_event_listener_properties()));
- layer_tree->SetEventListenerProperties(
- EventListenerClass::kTouchStartOrMove,
- static_cast<EventListenerProperties>(
- layer_tree_proto.touch_start_or_move_event_listener_properties()));
- layer_tree->SetEventListenerProperties(
- EventListenerClass::kTouchEndOrCancel,
- static_cast<EventListenerProperties>(
- layer_tree_proto.touch_end_or_cancel_event_listener_properties()));
-}
-
-void CompositorStateDeserializer::SynchronizeLayerState(
- const proto::LayerProperties& layer_properties_proto) {
- int engine_layer_id = layer_properties_proto.id();
- Layer* layer = GetLayerForEngineId(engine_layer_id);
-
- // Layer Inputs -----------------------------------------------------
- const proto::BaseLayerProperties& base = layer_properties_proto.base();
- layer->SetNeedsDisplayRect(ProtoToRect(base.update_rect()));
- layer->SetBounds(ProtoToSize(base.bounds()));
- layer->SetMasksToBounds(base.masks_to_bounds());
- layer->SetOpacity(base.opacity());
- layer->SetBlendMode(SkXfermodeModeFromProto(base.blend_mode()));
- layer->SetIsRootForIsolatedGroup(base.is_root_for_isolated_group());
- layer->SetContentsOpaque(base.contents_opaque());
- layer->SetPosition(ProtoToPointF(base.position()));
- layer->SetTransform(ProtoToTransform(base.transform()));
- layer->SetTransformOrigin(ProtoToPoint3F(base.transform_origin()));
- layer->SetIsDrawable(base.is_drawable());
- layer->SetDoubleSided(base.double_sided());
- layer->SetShouldFlattenTransform(base.should_flatten_transform());
- layer->Set3dSortingContextId(base.sorting_context_id());
- layer->SetUseParentBackfaceVisibility(base.use_parent_backface_visibility());
- layer->SetBackgroundColor(base.background_color());
-
- gfx::ScrollOffset engine_scroll_offset =
- ProtoToScrollOffset(base.scroll_offset());
- SyncedRemoteScrollOffset& synced_scroll_offset =
- GetLayerData(engine_layer_id)->synced_scroll_offset;
- synced_scroll_offset.PushFromEngineMainThread(engine_scroll_offset);
- layer->SetScrollOffset(synced_scroll_offset.EngineMain());
-
- layer->SetScrollClipLayerId(
- GetClientIdFromEngineId(base.scroll_clip_layer_id()));
- layer->SetUserScrollable(base.user_scrollable_horizontal(),
- base.user_scrollable_vertical());
-
- if (layer->main_thread_scrolling_reasons()) {
- layer->ClearMainThreadScrollingReasons(
- layer->main_thread_scrolling_reasons());
- }
- if (base.main_thread_scrolling_reasons()) {
- layer->AddMainThreadScrollingReasons(base.main_thread_scrolling_reasons());
- }
-
- layer->SetNonFastScrollableRegion(
- RegionFromProto(base.non_fast_scrollable_region()));
- layer->SetTouchEventHandlerRegion(
- RegionFromProto(base.touch_event_handler_region()));
-
- layer->SetIsContainerForFixedPositionLayers(
- base.is_container_for_fixed_position_layers());
-
- LayerPositionConstraint position_constraint;
- position_constraint.FromProtobuf(base.position_constraint());
- layer->SetPositionConstraint(position_constraint);
-
- LayerStickyPositionConstraint sticky_position_constraint;
- sticky_position_constraint.FromProtobuf(base.sticky_position_constraint());
- layer->SetStickyPositionConstraint(sticky_position_constraint);
- layer->SetScrollParent(GetLayerForEngineId(base.scroll_parent_id()));
- layer->SetClipParent(GetLayerForEngineId(base.clip_parent_id()));
-
- layer->SetHasWillChangeTransformHint(base.has_will_change_transform_hint());
- layer->SetHideLayerAndSubtree(base.hide_layer_and_subtree());
-
- // ------------------------------------------------------------------
-
- // PictureLayer Properties deserialization.
- if (layer_properties_proto.has_picture()) {
- const proto::PictureLayerProperties& picture_properties =
- layer_properties_proto.picture();
-
- // Only PictureLayers set picture.
- PictureLayer* picture_layer =
- static_cast<PictureLayer*>(GetLayerForEngineId(engine_layer_id));
- picture_layer->SetNearestNeighbor(picture_properties.nearest_neighbor());
-
- gfx::Rect recorded_viewport =
- ProtoToRect(picture_properties.recorded_viewport());
- scoped_refptr<DisplayItemList> display_list;
- std::vector<uint32_t> used_engine_picture_ids;
- if (picture_properties.has_display_list()) {
- display_list = DisplayItemList::CreateFromProto(
- picture_properties.display_list(), client_picture_cache_.get(),
- &used_engine_picture_ids);
- } else {
- display_list = nullptr;
- }
-
- // TODO(khushalsagar): The caching here is sub-optimal. If a layer does not
- // PushProperties, its pictures won't get counted here even if the layer
- // is drawn in the current frame.
- for (uint32_t engine_picture_id : used_engine_picture_ids)
- client_picture_cache_->MarkUsed(engine_picture_id);
-
- GetContentLayerClient(engine_layer_id)
- ->UpdateDisplayListAndRecordedViewport(display_list, recorded_viewport);
- }
-}
-
-void CompositorStateDeserializer::SynchronizeLayerHierarchyRecursive(
- Layer* layer,
- const proto::LayerNode& layer_node,
- EngineIdToLayerMap* new_layer_map,
- ScrollbarLayerToScrollLayerId* scrollbar_layer_to_scroll_layer) {
- layer->RemoveAllChildren();
-
- // Children.
- for (int i = 0; i < layer_node.children_size(); i++) {
- const proto::LayerNode& child_layer_node = layer_node.children(i);
- scoped_refptr<Layer> child_layer = GetLayerAndAddToNewMap(
- child_layer_node, new_layer_map, scrollbar_layer_to_scroll_layer);
- layer->AddChild(child_layer);
- SynchronizeLayerHierarchyRecursive(child_layer.get(), child_layer_node,
- new_layer_map,
- scrollbar_layer_to_scroll_layer);
- }
-
- // Mask Layer.
- if (layer_node.has_mask_layer()) {
- const proto::LayerNode& mask_layer_node = layer_node.mask_layer();
- scoped_refptr<Layer> mask_layer = GetLayerAndAddToNewMap(
- mask_layer_node, new_layer_map, scrollbar_layer_to_scroll_layer);
- layer->SetMaskLayer(mask_layer.get());
- SynchronizeLayerHierarchyRecursive(mask_layer.get(), mask_layer_node,
- new_layer_map,
- scrollbar_layer_to_scroll_layer);
- } else {
- layer->SetMaskLayer(nullptr);
- }
-
- // Scroll callback.
- layer->set_did_scroll_callback(
- base::Bind(&CompositorStateDeserializer::LayerScrolled,
- weak_factory_.GetWeakPtr(), layer_node.id()));
-}
-
-scoped_refptr<Layer> CompositorStateDeserializer::GetLayerAndAddToNewMap(
- const proto::LayerNode& layer_node,
- EngineIdToLayerMap* new_layer_map,
- ScrollbarLayerToScrollLayerId* scrollbar_layer_to_scroll_layer) {
- DCHECK(new_layer_map->find(layer_node.id()) == new_layer_map->end())
- << "A LayerNode should have been de-serialized only once";
-
- scoped_refptr<Layer> layer;
- EngineIdToLayerMap::iterator layer_map_it =
- engine_id_to_layer_.find(layer_node.id());
-
- if (layer_map_it != engine_id_to_layer_.end()) {
- // We can re-use the old layer.
- layer = layer_map_it->second.layer;
- (*new_layer_map)[layer_node.id()] = std::move(layer_map_it->second);
- engine_id_to_layer_.erase(layer_map_it);
- return layer;
- }
-
- // We need to create a new layer.
- auto& layer_data = (*new_layer_map)[layer_node.id()];
- switch (layer_node.type()) {
- case proto::LayerNode::UNKNOWN:
- NOTREACHED() << "Unknown Layer type";
- case proto::LayerNode::LAYER:
- layer_data.layer = layer_factory_->CreateLayer(layer_node.id());
- break;
- case proto::LayerNode::PICTURE_LAYER:
- layer_data.content_layer_client =
- base::MakeUnique<DeserializedContentLayerClient>();
- layer_data.layer = layer_factory_->CreatePictureLayer(
- layer_node.id(), layer_data.content_layer_client.get());
- break;
- case proto::LayerNode::FAKE_PICTURE_LAYER:
- // FAKE_PICTURE_LAYER is for testing only.
- layer_data.content_layer_client =
- base::MakeUnique<DeserializedContentLayerClient>();
- layer_data.layer = layer_factory_->CreateFakePictureLayer(
- layer_node.id(), layer_data.content_layer_client.get());
- break;
- case proto::LayerNode::SOLID_COLOR_SCROLLBAR_LAYER: {
- // SolidColorScrollbarLayers attach their properties in the LayerNode
- // itself.
- const proto::SolidColorScrollbarLayerProperties& scrollbar =
- layer_node.solid_scrollbar();
-
- DCHECK(scrollbar_layer_to_scroll_layer->find(layer_node.id()) ==
- scrollbar_layer_to_scroll_layer->end());
- int scroll_layer_id = scrollbar.scroll_layer_id();
- (*scrollbar_layer_to_scroll_layer)[layer_node.id()] = scroll_layer_id;
-
- int thumb_thickness = scrollbar.thumb_thickness();
- int track_start = scrollbar.track_start();
- bool is_left_side_vertical_scrollbar =
- scrollbar.is_left_side_vertical_scrollbar();
- ScrollbarOrientation orientation =
- ScrollbarOrientationFromProto(scrollbar.orientation());
-
- // We use the invalid id for the |scroll_layer_id| because the
- // corresponding layer on the client may not have been created yet.
- layer_data.layer = layer_factory_->CreateSolidColorScrollbarLayer(
- layer_node.id(), orientation, thumb_thickness, track_start,
- is_left_side_vertical_scrollbar, Layer::LayerIdLabels::INVALID_ID);
- } break;
- case proto::LayerNode::PUSH_PROPERTIES_COUNTING_LAYER:
- // PUSH_PROPERTIES_COUNTING_LAYER is for testing only.
- layer_data.layer =
- layer_factory_->CreatePushPropertiesCountingLayer(layer_node.id());
- break;
- }
-
- layer = layer_data.layer;
- return layer;
-}
-
-void CompositorStateDeserializer::LayerScrolled(int engine_layer_id) {
- LayerData* layer_data = GetLayerData(engine_layer_id);
- Layer* layer = layer_data->layer.get();
- SyncedRemoteScrollOffset& synced_scroll_offset =
- layer_data->synced_scroll_offset;
- synced_scroll_offset.UpdateDeltaFromImplThread(layer->scroll_offset());
- layer->SetScrollOffset(synced_scroll_offset.EngineMain());
- client_->DidUpdateLocalState();
-}
-
-int CompositorStateDeserializer::GetClientIdFromEngineId(
- int engine_layer_id) const {
- Layer* layer = GetLayerForEngineId(engine_layer_id);
- return layer ? layer->id() : Layer::LayerIdLabels::INVALID_ID;
-}
-
-scoped_refptr<Layer> CompositorStateDeserializer::GetLayer(
- int engine_layer_id) const {
- EngineIdToLayerMap::const_iterator layer_it =
- engine_id_to_layer_.find(engine_layer_id);
- return layer_it != engine_id_to_layer_.end() ? layer_it->second.layer
- : nullptr;
-}
-
-DeserializedContentLayerClient*
-CompositorStateDeserializer::GetContentLayerClient(int engine_layer_id) const {
- EngineIdToLayerMap::const_iterator layer_it =
- engine_id_to_layer_.find(engine_layer_id);
- return layer_it != engine_id_to_layer_.end()
- ? layer_it->second.content_layer_client.get()
- : nullptr;
-}
-
-CompositorStateDeserializer::LayerData*
-CompositorStateDeserializer::GetLayerData(int engine_layer_id) {
- EngineIdToLayerMap::iterator layer_it =
- engine_id_to_layer_.find(engine_layer_id);
- return layer_it != engine_id_to_layer_.end() ? &layer_it->second : nullptr;
-}
-
-} // namespace cc
« no previous file with comments | « cc/blimp/compositor_state_deserializer.h ('k') | cc/blimp/compositor_state_deserializer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698