Index: cc/trees/layer_tree_impl.h |
diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h |
index 6d4ba2677e79b7176f54134d07133d35ef72d012..e485bc48b3f66d90367e5f509ec47681818217db 100644 |
--- a/cc/trees/layer_tree_impl.h |
+++ b/cc/trees/layer_tree_impl.h |
@@ -5,9 +5,6 @@ |
#ifndef CC_TREES_LAYER_TREE_IMPL_H_ |
#define CC_TREES_LAYER_TREE_IMPL_H_ |
-#include <stddef.h> |
-#include <stdint.h> |
- |
#include <map> |
#include <set> |
#include <string> |
@@ -142,6 +139,16 @@ class CC_EXPORT LayerTreeImpl { |
void PushPropertiesTo(LayerTreeImpl* tree_impl); |
+ struct CC_EXPORT ElementLayers { |
+ // Transform and opacity mutations apply to this layer. |
+ LayerImpl* main = nullptr; |
+ // Scroll mutations apply to this layer. |
+ LayerImpl* scroll = nullptr; |
+ }; |
+ |
+ void AddToElementMap(LayerImpl* layer); |
+ void RemoveFromElementMap(LayerImpl* layer); |
+ ElementLayers GetMutableLayers(uint64_t element_id); |
int source_frame_number() const { return source_frame_number_; } |
void set_source_frame_number(int frame_number) { |
source_frame_number_ = frame_number; |
@@ -477,6 +484,8 @@ class CC_EXPORT LayerTreeImpl { |
typedef base::hash_map<int, LayerImpl*> LayerIdMap; |
LayerIdMap layer_id_map_; |
+ base::hash_map<uint64_t, ElementLayers> element_layers_map_; |
+ |
// Maps from clip layer ids to scroll layer ids. Note that this only includes |
// the subset of clip layers that act as scrolling containers. (This is |
// derived from LayerImpl::scroll_clip_layer_ and exists to avoid O(n) walks.) |