#ifndef CC_TREES_PROPERTY_TREE_H_
#define CC_TREES_PROPERTY_TREE_H_
#include <stddef.h>
#include <memory>
#include <optional>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/containers/flat_set.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr_exclusion.h"
#include "base/memory/raw_ref.h"
#include "base/memory/weak_ptr.h"
#include "cc/base/synced_property.h"
#include "cc/cc_export.h"
#include "cc/input/scroll_snap_data.h"
#include "cc/paint/element_id.h"
#include "cc/paint/filter_operations.h"
#include "cc/paint/scroll_offset_map.h"
#include "cc/trees/clip_node.h"
#include "cc/trees/effect_node.h"
#include "cc/trees/mutator_host.h"
#include "cc/trees/property_ids.h"
#include "cc/trees/scroll_node.h"
#include "cc/trees/sticky_position_constraint.h"
#include "cc/trees/transform_node.h"
#include "components/viz/common/view_transition_element_resource_id.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/transform.h"
#include "ui/gfx/geometry/vector2d_f.h"
namespace base {
namespace trace_event {
class TracedValue;
}
}
namespace viz {
class CopyOutputRequest;
}
namespace cc {
class LayerTreeImpl;
class RenderSurfaceImpl;
struct RenderSurfacePropertyChangedFlags;
struct CompositorCommitData;
struct ViewportPropertyIds;
SyncedScrollOffset;
class PropertyTrees;
template <typename T>
class CC_EXPORT PropertyTree { … };
struct AnchorPositionScrollData;
struct StickyPositionNodeData;
class CC_EXPORT TransformTree final : public PropertyTree<TransformNode> { … };
struct CC_EXPORT AnchorPositionScrollData { … };
struct CC_EXPORT StickyPositionNodeData { … };
class CC_EXPORT ClipTree final : public PropertyTree<ClipNode> { … };
class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> { … };
class ScrollCallbacks { … };
class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> { … };
constexpr int kInvalidUpdateNumber = …;
struct AnimationScaleData { … };
struct DrawTransforms { … };
struct DrawTransformData { … };
struct PropertyTreesCachedData { … };
struct CC_EXPORT PropertyTreesChangeState { … };
class CC_EXPORT PropertyTrees final { … };
}
#endif