#include "third_party/blink/renderer/controller/performance_manager/v8_detailed_memory_reporter_impl.h"
#include <memory>
#include <unordered_map>
#include <utility>
#include <vector>
#include "base/check.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/notreached.h"
#include "third_party/blink/public/common/tokens/tokens.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/controller/performance_manager/v8_worker_memory_reporter.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.h"
#include "third_party/blink/renderer/core/html/canvas/canvas_resource_tracker.h"
#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h"
#include "third_party/blink/renderer/platform/heap/thread_state.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
#include "third_party/blink/renderer/platform/wtf/ref_counted.h"
#include "v8/include/v8.h"
namespace blink {
namespace {
class FrameAssociatedMeasurementDelegate : public v8::MeasureMemoryDelegate { … };
v8::MeasureMemoryExecution ToV8MeasureMemoryExecution(
V8DetailedMemoryReporterImpl::Mode mode) { … }
ExecutionContextToken ToExecutionContextToken(WorkerToken token) { … }
class V8ProcessMemoryReporter : public RefCounted<V8ProcessMemoryReporter> { … };
V8DetailedMemoryReporterImpl& GetV8DetailedMemoryReporter() { … }
}
void V8DetailedMemoryReporterImpl::Bind(
mojo::PendingReceiver<mojom::blink::V8DetailedMemoryReporter> receiver) { … }
void V8DetailedMemoryReporterImpl::GetV8MemoryUsage(
V8DetailedMemoryReporterImpl::Mode mode,
GetV8MemoryUsageCallback callback) { … }
}