#ifndef COMPONENTS_PERFORMANCE_MANAGER_V8_MEMORY_V8_DETAILED_MEMORY_DECORATOR_H_
#define COMPONENTS_PERFORMANCE_MANAGER_V8_MEMORY_V8_DETAILED_MEMORY_DECORATOR_H_
#include <memory>
#include "base/functional/callback_forward.h"
#include "base/functional/function_ref.h"
#include "base/sequence_checker.h"
#include "base/types/pass_key.h"
#include "components/performance_manager/public/graph/graph_registered.h"
#include "components/performance_manager/public/graph/node_data_describer.h"
#include "components/performance_manager/public/graph/process_node.h"
#include "components/performance_manager/public/v8_memory/v8_detailed_memory.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "third_party/blink/public/mojom/performance_manager/v8_detailed_memory_reporter.mojom.h"
namespace performance_manager {
class FrameNode;
class Graph;
namespace v8_memory {
class V8DetailedMemoryRequestQueue;
class V8DetailedMemoryDecorator
: public ProcessNode::ObserverDefaultImpl,
public GraphOwnedAndRegistered<V8DetailedMemoryDecorator>,
public NodeDataDescriberDefaultImpl { … };
namespace internal {
BindV8DetailedMemoryReporterCallback;
void SetBindV8DetailedMemoryReporterCallbackForTesting(
BindV8DetailedMemoryReporterCallback* callback);
void DestroyV8DetailedMemoryDecoratorForTesting(Graph* graph);
}
}
}
#endif