#ifndef UI_COMPOSITOR_THROUGHPUT_TRACKER_HOST_H_
#define UI_COMPOSITOR_THROUGHPUT_TRACKER_HOST_H_
#include "base/functional/callback_forward.h"
#include "cc/metrics/frame_sequence_tracker.h"
#include "ui/compositor/compositor_export.h"
namespace ui {
class COMPOSITOR_EXPORT ThroughputTrackerHost {
public:
using TrackerId = size_t;
virtual ~ThroughputTrackerHost() = default;
using ReportCallback = base::OnceCallback<void(
const cc::FrameSequenceMetrics::CustomReportData& data)>;
virtual void StartThroughputTracker(TrackerId tracker_id,
ReportCallback callback) = 0;
virtual bool StopThroughtputTracker(TrackerId tracker_id) = 0;
virtual void CancelThroughtputTracker(TrackerId tracker_id) = 0;
};
}
#endif