fake_compositor_frame_sink_client.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef COMPONENTS_VIZ_TEST_FAKE_COMPOSITOR_FRAME_SINK_CLIENT_H_
  5. #define COMPONENTS_VIZ_TEST_FAKE_COMPOSITOR_FRAME_SINK_CLIENT_H_
  6. #include <vector>
  7. #include "components/viz/common/frame_timing_details_map.h"
  8. #include "components/viz/common/surfaces/local_surface_id.h"
  9. #include "mojo/public/cpp/bindings/pending_remote.h"
  10. #include "mojo/public/cpp/bindings/receiver.h"
  11. #include "services/viz/public/mojom/compositing/compositor_frame_sink.mojom.h"
  12. namespace viz {
  13. class FakeCompositorFrameSinkClient : public mojom::CompositorFrameSinkClient {
  14. public:
  15. FakeCompositorFrameSinkClient();
  16. FakeCompositorFrameSinkClient(const FakeCompositorFrameSinkClient&) = delete;
  17. FakeCompositorFrameSinkClient& operator=(
  18. const FakeCompositorFrameSinkClient&) = delete;
  19. ~FakeCompositorFrameSinkClient() override;
  20. mojo::PendingRemote<mojom::CompositorFrameSinkClient> BindInterfaceRemote();
  21. // mojom::CompositorFrameSinkClient implementation.
  22. void DidReceiveCompositorFrameAck(
  23. std::vector<ReturnedResource> resources) override;
  24. void OnBeginFrame(const BeginFrameArgs& args,
  25. const FrameTimingDetailsMap& timing_details) override;
  26. void ReclaimResources(std::vector<ReturnedResource> resources) override;
  27. void OnBeginFramePausedChanged(bool paused) override;
  28. void OnCompositorFrameTransitionDirectiveProcessed(
  29. uint32_t sequence_id) override {}
  30. void clear_returned_resources() { returned_resources_.clear(); }
  31. const std::vector<ReturnedResource>& returned_resources() const {
  32. return returned_resources_;
  33. }
  34. private:
  35. void InsertResources(std::vector<ReturnedResource> resources);
  36. std::vector<ReturnedResource> returned_resources_;
  37. mojo::Receiver<mojom::CompositorFrameSinkClient> receiver_{this};
  38. };
  39. } // namespace viz
  40. #endif // COMPONENTS_VIZ_TEST_FAKE_COMPOSITOR_FRAME_SINK_CLIENT_H_