#include "cc/trees/damage_tracker.h"
#include <stddef.h>
#include <algorithm>
#include "base/containers/contains.h"
#include "base/memory/ptr_util.h"
#include "cc/base/math_util.h"
#include "cc/layers/heads_up_display_layer_impl.h"
#include "cc/layers/layer_impl.h"
#include "cc/layers/render_surface_impl.h"
#include "cc/paint/filter_operations.h"
#include "cc/trees/effect_node.h"
#include "cc/trees/layer_tree_impl.h"
#include "components/viz/common/viz_utils.h"
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/geometry/skia_conversions.h"
namespace cc {
std::unique_ptr<DamageTracker> DamageTracker::Create() { … }
DamageTracker::DamageTracker() = default;
DamageTracker::~DamageTracker() = default;
void DamageTracker::UpdateDamageTracking(LayerTreeImpl* layer_tree_impl) { … }
void DamageTracker::InitializeUpdateDamageTracking(
LayerTreeImpl* layer_tree_impl,
ViewTransitionElementResourceIdToRenderSurfaceMap&
id_to_render_surface_map) { … }
void DamageTracker::ComputeSurfaceDamage(RenderSurfaceImpl* render_surface) { … }
bool DamageTracker::GetDamageRectIfValid(gfx::Rect* rect) { … }
DamageReasonSet DamageTracker::GetDamageReasons() { … }
DamageTracker::LayerRectMapData& DamageTracker::RectDataForLayer(
int layer_id,
bool* layer_is_new) { … }
DamageTracker::SurfaceRectMapData& DamageTracker::RectDataForSurface(
ElementId surface_id,
bool* surface_is_new) { … }
void DamageTracker::PrepareForUpdate() { … }
DamageTracker::DamageAccumulator DamageTracker::TrackDamageFromLeftoverRects() { … }
void DamageTracker::AccumulateDamageFromLayer(
LayerImpl* layer,
ViewTransitionElementResourceIdToRenderSurfaceMap&
id_to_render_surface_map) { … }
void DamageTracker::AccumulateDamageFromRenderSurface(
RenderSurfaceImpl* render_surface) { … }
bool DamageTracker::DamageAccumulator::GetAsRect(gfx::Rect* rect) { … }
gfx::Rect
DamageTracker::GetViewTransitionContentSurfaceDamageInSharedElementLayerSpace(
LayerImpl* layer,
ViewTransitionElementResourceIdToRenderSurfaceMap&
id_to_render_surface_map) { … }
}