namespace XFESystem.Browser;
public sealed record BrowserDomLifetime(int Wrappers,int ReverseWrappers,int Identities,int Canvases,int FormSelections,int Ranges,
long HandlesCreated,long HandlesDisposed)
{public long OutstandingHandles=>HandlesCreated-HandlesDisposed;}
public sealed partial class DomBridge
{
/// <summary>Regular owner-loop maintenance, independent of diagnostics.</summary>
internal void PruneRetainedState()
{ _=wrappers.Count;_=nodes.Count;_=identities.Count;_=canvases.Count;_=selections.Count;_=ranges.Count; }
/// <summary>Read and prune only on the page's exclusive engine owner.</summary>
public BrowserDomLifetime Lifetime
{
get
{
int a=wrappers.Count,b=nodes.Count,c=identities.Count,d=canvases.Count,e=selections.Count,f=ranges.Count;
return new(a,b,c,d,e,f,
wrappers.HandlesCreated+nodes.HandlesCreated+identities.HandlesCreated+canvases.HandlesCreated+selections.HandlesCreated+ranges.HandlesCreated,
wrappers.HandlesDisposed+nodes.HandlesDisposed+identities.HandlesDisposed+canvases.HandlesDisposed+selections.HandlesDisposed+ranges.HandlesDisposed);
}
}
/// <summary>Explicit native-handle cleanup; no finalization dependency.</summary>
public void ReleaseRetainedState()
{
wrappers.Clear();nodes.Clear();identities.Clear();canvases.Clear();selections.Clear();ranges.Clear();
decoders.Clear();constructedSheets.Clear();focused=null;CurrentScript=null;
}
}
namespace XFESystem.Browser;
public sealed record BrowserDomLifetime(int Wrappers,int ReverseWrappers,int Identities,int Canvases,int FormSelections,int Ranges,
long HandlesCreated,long HandlesDisposed)
{public long OutstandingHandles=>HandlesCreated-HandlesDisposed;}
public sealed partial class DomBridge
{
/// <summary>Regular owner-loop maintenance, independent of diagnostics.</summary>
internal void PruneRetainedState()
{ _=wrappers.Count;_=nodes.Count;_=identities.Count;_=canvases.Count;_=selections.Count;_=ranges.Count; }
/// <summary>Read and prune only on the page's exclusive engine owner.</summary>
public BrowserDomLifetime Lifetime
{
get
{
int a=wrappers.Count,b=nodes.Count,c=identities.Count,d=canvases.Count,e=selections.Count,f=ranges.Count;
return new(a,b,c,d,e,f,
wrappers.HandlesCreated+nodes.HandlesCreated+identities.HandlesCreated+canvases.HandlesCreated+selections.HandlesCreated+ranges.HandlesCreated,
wrappers.HandlesDisposed+nodes.HandlesDisposed+identities.HandlesDisposed+canvases.HandlesDisposed+selections.HandlesDisposed+ranges.HandlesDisposed);
}
}
/// <summary>Explicit native-handle cleanup; no finalization dependency.</summary>
public void ReleaseRetainedState()
{
wrappers.Clear();nodes.Clear();identities.Clear();canvases.Clear();selections.Clear();ranges.Clear();
decoders.Clear();constructedSheets.Clear();focused=null;CurrentScript=null;
}
}