#include <memory>
#include <tuple>
#include <utility>
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/json/json_writer.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted_memory.h"
#include "base/strings/pattern.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "base/threading/scoped_blocking_call.h"
#include "content/browser/tracing/tracing_controller_impl.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/tracing_controller.h"
#include "third_party/zlib/zlib.h"
namespace content {
namespace {
class StringTraceDataEndpoint : public TracingController::TraceDataEndpoint { … };
class FileTraceDataEndpoint : public TracingController::TraceDataEndpoint { … };
class CompressedTraceDataEndpoint
: public TracingController::TraceDataEndpoint { … };
}
scoped_refptr<TracingController::TraceDataEndpoint>
TracingController::CreateStringEndpoint(CompletionCallback callback) { … }
scoped_refptr<TracingController::TraceDataEndpoint>
TracingController::CreateFileEndpoint(const base::FilePath& file_path,
base::OnceClosure callback,
base::TaskPriority write_priority) { … }
scoped_refptr<TracingController::TraceDataEndpoint>
TracingControllerImpl::CreateCompressedStringEndpoint(
scoped_refptr<TraceDataEndpoint> endpoint,
bool compress_with_background_priority) { … }
scoped_refptr<TracingController::TraceDataEndpoint>
TracingControllerImpl::CreateCallbackEndpoint(CompletionCallback callback) { … }
}