#include "content/browser/tracing/tracing_service_controller.h"
#include <utility>
#include "base/no_destructor.h"
#include "base/task/thread_pool.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/service_process_host.h"
#include "content/public/browser/tracing_service.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/tracing/public/cpp/traced_process.h"
#include "services/tracing/public/cpp/tracing_features.h"
#include "services/tracing/public/mojom/tracing_service.mojom.h"
#include "services/tracing/tracing_service.h"
namespace content {
namespace {
void BindNewInProcessInstance(
mojo::PendingReceiver<tracing::mojom::TracingService> receiver) { … }
}
TracingServiceController::ClientRegistration::ClientRegistration(
base::PassKey<TracingServiceController>,
base::OnceClosure unregister)
: … { … }
TracingServiceController::ClientRegistration::~ClientRegistration() { … }
TracingServiceController::TracingServiceController() = default;
TracingServiceController::~TracingServiceController() = default;
TracingServiceController& TracingServiceController::Get() { … }
std::unique_ptr<TracingServiceController::ClientRegistration>
TracingServiceController::RegisterClient(base::ProcessId pid,
EnableTracingCallback callback) { … }
tracing::mojom::TracingService& TracingServiceController::GetService() { … }
void TracingServiceController::RegisterClientOnUIThread(
base::ProcessId pid,
EnableTracingCallback callback) { … }
void TracingServiceController::RemoveClient(base::ProcessId pid) { … }
tracing::mojom::TracingService& GetTracingService() { … }
}