// Copyright 2017 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. #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_INSTANCE_COUNTERS_MEMORY_DUMP_PROVIDER_H_ #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_INSTANCE_COUNTERS_MEMORY_DUMP_PROVIDER_H_ #include "base/trace_event/memory_dump_provider.h" #include "third_party/blink/renderer/platform/platform_export.h" #include "third_party/blink/renderer/platform/wtf/allocator.h" #include "third_party/blink/renderer/platform/wtf/noncopyable.h" namespace blink { class PLATFORM_EXPORT InstanceCountersMemoryDumpProvider final : public base::trace_event::MemoryDumpProvider { USING_FAST_MALLOC(InstanceCountersMemoryDumpProvider); public: static InstanceCountersMemoryDumpProvider* Instance(); ~InstanceCountersMemoryDumpProvider() override = default; // MemoryDumpProvider implementation. bool OnMemoryDump(const base::trace_event::MemoryDumpArgs&, base::trace_event::ProcessMemoryDump*) override; private: InstanceCountersMemoryDumpProvider() = default; WTF_MAKE_NONCOPYABLE(InstanceCountersMemoryDumpProvider); }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_INSTANCE_COUNTERS_MEMORY_DUMP_PROVIDER_H_