blob: 1120c12b0e3ee08db9155872fec61c82f62e6328 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module blink.mojom;
// Result of leak detection - the number of different live Blink objects.
struct LeakDetectionResult {
uint32 number_of_live_audio_nodes;
uint32 number_of_live_documents;
uint32 number_of_live_nodes;
uint32 number_of_live_layout_objects;
uint32 number_of_live_resources;
uint32 number_of_live_context_lifecycle_state_observers;
uint32 number_of_live_script_promises;
uint32 number_of_live_frames;
uint32 number_of_live_v8_per_context_data;
uint32 number_of_worker_global_scopes;
uint32 number_of_live_ua_css_resources;
uint32 number_of_live_resource_fetchers;
};
// Leak detector clears out various global resources and then
// performs a garbage collection in Blink's managed heaps
// before reporting various Blink's objects counters.
interface LeakDetector {
PerformLeakDetection() => (LeakDetectionResult result);
};