Index: cc/blimp/compositor_state_deserializer.h |
diff --git a/cc/blimp/compositor_state_deserializer.h b/cc/blimp/compositor_state_deserializer.h |
deleted file mode 100644 |
index 60e06d0a61a56ba8d5ebb4d98b65fdabb3e60fdd..0000000000000000000000000000000000000000 |
--- a/cc/blimp/compositor_state_deserializer.h |
+++ /dev/null |
@@ -1,152 +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. |
- |
-#ifndef CC_BLIMP_COMPOSITOR_STATE_DESERIALIZER_H_ |
-#define CC_BLIMP_COMPOSITOR_STATE_DESERIALIZER_H_ |
- |
-#include <unordered_map> |
- |
-#include "base/callback.h" |
-#include "base/macros.h" |
-#include "base/memory/weak_ptr.h" |
-#include "cc/base/cc_export.h" |
-#include "cc/blimp/synced_property_remote.h" |
-#include "ui/gfx/geometry/scroll_offset.h" |
- |
-namespace cc { |
-namespace proto { |
-class ClientStateUpdate; |
-class LayerNode; |
-class LayerProperties; |
-class LayerTree; |
-class LayerTreeHost; |
-} // namespace proto |
- |
-class ClientPictureCache; |
-class DeserializedContentLayerClient; |
-class Layer; |
-class LayerFactory; |
-class LayerTreeHostInProcess; |
- |
-class CC_EXPORT CompositorStateDeserializerClient { |
- public: |
- virtual ~CompositorStateDeserializerClient() {} |
- |
- // Used to inform the client that the local state received from the engine was |
- // modified on the impl thread and a ClientStateUpdate needs to be scheduled |
- // to synchronize it with the main thread on the engine. |
- virtual void DidUpdateLocalState() = 0; |
-}; |
- |
-// Deserializes the compositor updates into the LayerTreeHost. |
-class CC_EXPORT CompositorStateDeserializer { |
- public: |
- CompositorStateDeserializer( |
- LayerTreeHostInProcess* layer_tree_host, |
- std::unique_ptr<ClientPictureCache> client_picture_cache, |
- CompositorStateDeserializerClient* client); |
- ~CompositorStateDeserializer(); |
- |
- // Returns the local layer on the client for the given |engine_layer_id|. |
- Layer* GetLayerForEngineId(int engine_layer_id) const; |
- |
- // Deserializes the |layer_tree_host_proto| into the LayerTreeHost. |
- void DeserializeCompositorUpdate( |
- const proto::LayerTreeHost& layer_tree_host_proto); |
- |
- // Allows tests to inject the LayerFactory. |
- void SetLayerFactoryForTesting(std::unique_ptr<LayerFactory> layer_factory); |
- |
- // Updates any viewport related deltas that have been reported to the main |
- // thread from the impl thread. |
- void ApplyViewportDeltas(const gfx::Vector2dF& inner_delta, |
- const gfx::Vector2dF& outer_delta, |
- const gfx::Vector2dF& elastic_overscroll_delta, |
- float page_scale, |
- float top_controls_delta); |
- |
- // Pulls a state update for changes reported to the main thread, that need to |
- // be synchronized with the associated state on the engine main thread. |
- void PullClientStateUpdate(proto::ClientStateUpdate* client_state_update); |
- |
- // Informs that the client state update pulled was applied to the main thread |
- // on the engine. |
- // Note that this assumes that the state update provided to the engine was |
- // reflected back by the engine. If the application of this update resulted in |
- // any changes to the main thread state on the engine, these must be |
- // de-serialized and applied to the LayerTreeHost before a frame is committed |
- // to the impl thread. |
- void DidApplyStateUpdatesOnEngine(); |
- |
- // Sends any deltas that have been received on the main thread, but have not |
- // yet been applied to the main thread state back to the impl thread. This |
- // must be called for every main frame sent to the impl thread. |
- void SendUnappliedDeltasToLayerTreeHost(); |
- |
- private: |
- using SyncedRemoteScrollOffset = |
- SyncedPropertyRemote<AdditionGroup<gfx::ScrollOffset>>; |
- |
- // A holder for the Layer and any data tied to it. |
- struct LayerData { |
- LayerData(); |
- LayerData(LayerData&& other); |
- ~LayerData(); |
- |
- LayerData& operator=(LayerData&& other); |
- |
- scoped_refptr<Layer> layer; |
- |
- // Set only for PictureLayers. |
- std::unique_ptr<DeserializedContentLayerClient> content_layer_client; |
- |
- SyncedRemoteScrollOffset synced_scroll_offset; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(LayerData); |
- }; |
- |
- using EngineIdToLayerMap = std::unordered_map<int, LayerData>; |
- // Map of the scrollbar layer id to the corresponding scroll layer id. Both |
- // ids refer to the engine layer id. |
- using ScrollbarLayerToScrollLayerId = std::unordered_map<int, int>; |
- |
- void SychronizeLayerTreeState(const proto::LayerTree& layer_tree_proto); |
- void SynchronizeLayerState( |
- const proto::LayerProperties& layer_properties_proto); |
- void SynchronizeLayerHierarchyRecursive( |
- Layer* layer, |
- const proto::LayerNode& layer_node, |
- EngineIdToLayerMap* new_layer_map, |
- ScrollbarLayerToScrollLayerId* scrollbar_layer_to_scroll_layer); |
- scoped_refptr<Layer> GetLayerAndAddToNewMap( |
- const proto::LayerNode& layer_node, |
- EngineIdToLayerMap* new_layer_map, |
- ScrollbarLayerToScrollLayerId* scrollbar_layer_to_scroll_layer); |
- |
- void LayerScrolled(int engine_layer_id); |
- |
- scoped_refptr<Layer> GetLayer(int engine_layer_id) const; |
- DeserializedContentLayerClient* GetContentLayerClient( |
- int engine_layer_id) const; |
- int GetClientIdFromEngineId(int engine_layer_id) const; |
- LayerData* GetLayerData(int engine_layer_id); |
- |
- std::unique_ptr<LayerFactory> layer_factory_; |
- |
- LayerTreeHostInProcess* layer_tree_host_; |
- std::unique_ptr<ClientPictureCache> client_picture_cache_; |
- CompositorStateDeserializerClient* client_; |
- |
- EngineIdToLayerMap engine_id_to_layer_; |
- SyncedPropertyRemote<ScaleGroup> synced_page_scale_; |
- |
- base::WeakPtrFactory<CompositorStateDeserializer> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(CompositorStateDeserializer); |
-}; |
- |
-} // namespace cc |
- |
-#endif // CC_BLIMP_COMPOSITOR_STATE_DESERIALIZER_H_ |