skia_memory_dump_provider.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2015 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef SKIA_EXT_SKIA_MEMORY_DUMP_PROVIDER_H_
  5. #define SKIA_EXT_SKIA_MEMORY_DUMP_PROVIDER_H_
  6. #include "base/memory/singleton.h"
  7. #include "base/trace_event/memory_dump_provider.h"
  8. #include "third_party/skia/include/core/SkTypes.h"
  9. namespace skia {
  10. class SK_API SkiaMemoryDumpProvider
  11. : public base::trace_event::MemoryDumpProvider {
  12. public:
  13. static SkiaMemoryDumpProvider* GetInstance();
  14. SkiaMemoryDumpProvider(const SkiaMemoryDumpProvider&) = delete;
  15. SkiaMemoryDumpProvider& operator=(const SkiaMemoryDumpProvider&) = delete;
  16. // base::trace_event::MemoryDumpProvider implementation:
  17. bool OnMemoryDump(
  18. const base::trace_event::MemoryDumpArgs& args,
  19. base::trace_event::ProcessMemoryDump* process_memory_dump) override;
  20. private:
  21. friend struct base::DefaultSingletonTraits<SkiaMemoryDumpProvider>;
  22. SkiaMemoryDumpProvider();
  23. ~SkiaMemoryDumpProvider() override;
  24. };
  25. } // namespace skia
  26. #endif // SKIA_EXT_SKIA_MEMORY_DUMP_PROVIDER_H_