chromium/cc/metrics/event_metrics.h

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CC_METRICS_EVENT_METRICS_H_
#define CC_METRICS_EVENT_METRICS_H_

#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/memory/raw_ptr.h"
#include "base/time/tick_clock.h"
#include "base/time/time.h"
#include "base/types/id_type.h"
#include "cc/cc_export.h"
#include "components/viz/common/frame_sinks/begin_frame_args.h"
#include "ui/events/types/event_type.h"
#include "ui/events/types/scroll_input_type.h"
#include "ui/latency/latency_info.h"
namespace cc {
class PinchEventMetrics;
class ScrollEventMetrics;
class ScrollUpdateEventMetrics;

// Data about an event used by CompositorFrameReporter in generating event
// latency metrics.
class CC_EXPORT EventMetrics {};

class CC_EXPORT ScrollEventMetrics : public EventMetrics {};

class CC_EXPORT ScrollUpdateEventMetrics : public ScrollEventMetrics {};

class CC_EXPORT PinchEventMetrics : public EventMetrics {};

// Struct storing event metrics from both main and impl threads.
struct CC_EXPORT EventMetricsSet {};

}  // namespace cc

#endif  // CC_METRICS_EVENT_METRICS_H_