| Index: cc/trees/property_tree.h
|
| diff --git a/cc/trees/property_tree.h b/cc/trees/property_tree.h
|
| index 654b5e481f1f0b8780c98ee7552cb33c680abe95..db0396d085fa78709fe7957b7d800d83416bf955 100644
|
| --- a/cc/trees/property_tree.h
|
| +++ b/cc/trees/property_tree.h
|
| @@ -10,6 +10,7 @@
|
| #include <vector>
|
|
|
| #include "cc/base/cc_export.h"
|
| +#include "cc/layers/scroll_blocks_on.h"
|
| #include "ui/gfx/geometry/rect_f.h"
|
| #include "ui/gfx/geometry/scroll_offset.h"
|
| #include "ui/gfx/transform.h"
|
| @@ -21,6 +22,7 @@ class ClipNodeData;
|
| class EffectNodeData;
|
| class PropertyTree;
|
| class PropertyTrees;
|
| +class ScrollNodeData;
|
| class TranformNodeData;
|
| class TransformTreeData;
|
| class TreeNode;
|
| @@ -254,6 +256,24 @@ struct CC_EXPORT EffectNodeData {
|
|
|
| typedef TreeNode<EffectNodeData> EffectNode;
|
|
|
| +struct CC_EXPORT ScrollNodeData {
|
| + ScrollNodeData();
|
| +
|
| + bool scrollable;
|
| + bool should_scroll_on_main_thread;
|
| + ScrollBlocksOn scroll_blocks_on;
|
| + bool contains_non_fast_scrollable_region;
|
| +
|
| + int transform_id;
|
| +
|
| + bool operator==(const ScrollNodeData& other) const;
|
| +
|
| + void ToProtobuf(proto::TreeNode* proto) const;
|
| + void FromProtobuf(const proto::TreeNode& proto);
|
| +};
|
| +
|
| +typedef TreeNode<ScrollNodeData> ScrollNode;
|
| +
|
| template <typename T>
|
| class CC_EXPORT PropertyTree {
|
| public:
|
| @@ -486,9 +506,18 @@ class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> {
|
| void UpdateOpacities(EffectNode* node, EffectNode* parent_node);
|
| };
|
|
|
| +class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> {
|
| + public:
|
| + bool operator==(const ScrollTree& other) const;
|
| +
|
| + void ToProtobuf(proto::PropertyTree* proto) const;
|
| + void FromProtobuf(const proto::PropertyTree& proto);
|
| +};
|
| +
|
| class CC_EXPORT PropertyTrees final {
|
| public:
|
| PropertyTrees();
|
| + ~PropertyTrees();
|
|
|
| bool operator==(const PropertyTrees& other) const;
|
|
|
| @@ -498,6 +527,7 @@ class CC_EXPORT PropertyTrees final {
|
| TransformTree transform_tree;
|
| EffectTree effect_tree;
|
| ClipTree clip_tree;
|
| + ScrollTree scroll_tree;
|
| bool needs_rebuild;
|
| bool non_root_surfaces_enabled;
|
| int sequence_number;
|
|
|