memory_dump_provider_proxy.cc 987 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2020 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. #include "media/base/memory_dump_provider_proxy.h"
  5. #include <utility>
  6. #include "base/trace_event/memory_dump_manager.h"
  7. namespace media {
  8. MemoryDumpProviderProxy::MemoryDumpProviderProxy(
  9. const char* name,
  10. scoped_refptr<base::SingleThreadTaskRunner> task_runner,
  11. MemoryDumpCB dump_cb)
  12. : dump_cb_(std::move(dump_cb)) {
  13. base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
  14. this, name, std::move(task_runner));
  15. }
  16. MemoryDumpProviderProxy::~MemoryDumpProviderProxy() {
  17. base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider(
  18. this);
  19. }
  20. bool MemoryDumpProviderProxy::OnMemoryDump(
  21. const base::trace_event::MemoryDumpArgs& args,
  22. base::trace_event::ProcessMemoryDump* pmd) {
  23. dump_cb_.Run(args, pmd);
  24. return true;
  25. }
  26. } // namespace media