mock_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_MOCK_COMPOSITOR_FRAME_SINK_CLIENT_H_
  5. #define COMPONENTS_VIZ_TEST_MOCK_COMPOSITOR_FRAME_SINK_CLIENT_H_
  6. #include <utility>
  7. #include <vector>
  8. #include "base/callback.h"
  9. #include "components/viz/common/frame_timing_details_map.h"
  10. #include "mojo/public/cpp/bindings/pending_remote.h"
  11. #include "mojo/public/cpp/bindings/receiver.h"
  12. #include "services/viz/public/mojom/compositing/compositor_frame_sink.mojom.h"
  13. #include "testing/gmock/include/gmock/gmock.h"
  14. namespace viz {
  15. class MockCompositorFrameSinkClient : public mojom::CompositorFrameSinkClient {
  16. public:
  17. MockCompositorFrameSinkClient();
  18. MockCompositorFrameSinkClient(const MockCompositorFrameSinkClient&) = delete;
  19. MockCompositorFrameSinkClient& operator=(
  20. const MockCompositorFrameSinkClient&) = delete;
  21. ~MockCompositorFrameSinkClient() override;
  22. void set_disconnect_handler(base::OnceClosure error_handler) {
  23. receiver_.set_disconnect_handler(std::move(error_handler));
  24. }
  25. // Returns a mojo::PendingRemote<CompositorFrameSinkClient> bound to this
  26. // object.
  27. mojo::PendingRemote<mojom::CompositorFrameSinkClient> BindInterfaceRemote();
  28. // mojom::CompositorFrameSinkClient implementation.
  29. MOCK_METHOD1(DidReceiveCompositorFrameAck,
  30. void(std::vector<ReturnedResource>));
  31. MOCK_METHOD2(OnBeginFrame,
  32. void(const BeginFrameArgs&, const FrameTimingDetailsMap&));
  33. MOCK_METHOD1(ReclaimResources, void(std::vector<ReturnedResource>));
  34. MOCK_METHOD2(WillDrawSurface, void(const LocalSurfaceId&, const gfx::Rect&));
  35. MOCK_METHOD1(OnBeginFramePausedChanged, void(bool paused));
  36. MOCK_METHOD1(OnCompositorFrameTransitionDirectiveProcessed,
  37. void(uint32_t sequence_id));
  38. private:
  39. mojo::Receiver<mojom::CompositorFrameSinkClient> receiver_{this};
  40. };
  41. } // namespace viz
  42. #endif // COMPONENTS_VIZ_TEST_MOCK_COMPOSITOR_FRAME_SINK_CLIENT_H_