blob: a4c21f9c986502289b99418e7fde18f28a5a7143 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_PUBLIC_TEST_MOCK_CAPTURED_SURFACE_CONTROLLER_H_
#define CONTENT_PUBLIC_TEST_MOCK_CAPTURED_SURFACE_CONTROLLER_H_
#include "base/functional/callback.h"
#include "content/browser/media/captured_surface_controller.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h"
namespace content {
class MockCapturedSurfaceController final : public CapturedSurfaceController {
private:
using CapturedSurfaceControlResult =
::blink::mojom::CapturedSurfaceControlResult;
public:
MockCapturedSurfaceController(GlobalRenderFrameHostId capturer_rfh_id,
WebContentsMediaCaptureId captured_wc_id);
~MockCapturedSurfaceController() override;
void SetSendWheelResponse(CapturedSurfaceControlResult send_wheel_result);
// CapturedSurfaceController impl
MOCK_METHOD(void,
UpdateCaptureTarget,
(WebContentsMediaCaptureId),
(override));
void SendWheel(blink::mojom::CapturedWheelActionPtr action,
base::OnceCallback<void(CapturedSurfaceControlResult)>
reply_callback) override;
void SetUpdateZoomLevelResponse(
CapturedSurfaceControlResult update_zoom_level_result);
void UpdateZoomLevel(blink::mojom::ZoomLevelAction action,
base::OnceCallback<void(CapturedSurfaceControlResult)>
reply_callback) override;
void SetRequestPermissionResponse(
CapturedSurfaceControlResult request_permission_result);
void RequestPermission(base::OnceCallback<void(CapturedSurfaceControlResult)>
reply_callback) override;
private:
std::optional<CapturedSurfaceControlResult> send_wheel_result_;
std::optional<CapturedSurfaceControlResult> update_zoom_level_result_;
std::optional<CapturedSurfaceControlResult> request_permission_result_;
};
} // namespace content
#endif // CONTENT_PUBLIC_TEST_MOCK_CAPTURED_SURFACE_CONTROLLER_H_