diff --git a/lib/ui/painting/engine_layer.cc b/lib/ui/painting/engine_layer.cc index 5ff6e96f61574..afa3876ffb653 100644 --- a/lib/ui/painting/engine_layer.cc +++ b/lib/ui/painting/engine_layer.cc @@ -17,6 +17,13 @@ namespace blink { EngineLayer::~EngineLayer() = default; +size_t EngineLayer::GetAllocationSize() { + // Provide an approximation of the total memory impact of this object to the + // Dart GC. The ContainerLayer may hold references to a tree of other layers, + // which in turn may contain Skia objects. + return 3000; +}; + IMPLEMENT_WRAPPERTYPEINFO(ui, EngineLayer); #define FOR_EACH_BINDING(V) // nothing to bind diff --git a/lib/ui/painting/engine_layer.h b/lib/ui/painting/engine_layer.h index e79b5f8e63967..c578e88c9e88f 100644 --- a/lib/ui/painting/engine_layer.h +++ b/lib/ui/painting/engine_layer.h @@ -22,6 +22,9 @@ class EngineLayer : public RefCountedDartWrappable { public: ~EngineLayer() override; + + size_t GetAllocationSize() override; + static fml::RefPtr MakeRetained( std::shared_ptr layer) { return fml::MakeRefCounted(layer);