// media/mojo/mojom/playback_events_recorder.mojom-blink-test-utils.h is auto generated by mojom_bindings_generator.py, do not edit

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

#ifndef MEDIA_MOJO_MOJOM_PLAYBACK_EVENTS_RECORDER_MOJOM_BLINK_TEST_UTILS_H_
#define MEDIA_MOJO_MOJOM_PLAYBACK_EVENTS_RECORDER_MOJOM_BLINK_TEST_UTILS_H_

#include "media/mojo/mojom/playback_events_recorder.mojom-blink.h"
#include "third_party/blink/public/platform/web_common.h"


namespace media::mojom::blink {


class BLINK_PLATFORM_EXPORT PlaybackEventsRecorderInterceptorForTesting : public PlaybackEventsRecorder {
  virtual PlaybackEventsRecorder* GetForwardingInterface() = 0;
  void OnPlaying() override;
  void OnPaused() override;
  void OnSeeking() override;
  void OnEnded() override;
  void OnError(const ::media::PipelineStatus& status) override;
  void OnBuffering() override;
  void OnBufferingComplete() override;
  void OnNaturalSizeChanged(const ::gfx::Size& size) override;
  void OnPipelineStatistics(const ::media::PipelineStatistics& stats) override;
};
class BLINK_PLATFORM_EXPORT PlaybackEventsRecorderAsyncWaiter {
 public:
  explicit PlaybackEventsRecorderAsyncWaiter(PlaybackEventsRecorder* proxy);

  PlaybackEventsRecorderAsyncWaiter(const PlaybackEventsRecorderAsyncWaiter&) = delete;
  PlaybackEventsRecorderAsyncWaiter& operator=(const PlaybackEventsRecorderAsyncWaiter&) = delete;

  ~PlaybackEventsRecorderAsyncWaiter();

 private:
  PlaybackEventsRecorder* const proxy_;
};




}  // media::mojom::blink

#endif  // MEDIA_MOJO_MOJOM_PLAYBACK_EVENTS_RECORDER_MOJOM_BLINK_TEST_UTILS_H_