blob: 052ad1f99cb780cb1fc6499d354b42c77d3f82cb [file] [log] [blame]
Avi Drissman4e1b7bc32022-09-15 14:03:501// Copyright 2019 The Chromium Authors
Matt Reynolds8e207022019-06-26 01:59:292// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/browser/hid/hid_test_utils.h"
6#include "third_party/blink/public/mojom/hid/hid.mojom.h"
7
8#include <utility>
9
Avi Drissmanadac21992023-01-11 23:46:3910#include "base/functional/callback.h"
Matt Reynolds8e207022019-06-26 01:59:2911
12namespace content {
13
14MockHidDelegate::MockHidDelegate() = default;
15
16MockHidDelegate::~MockHidDelegate() = default;
17
18std::unique_ptr<HidChooser> MockHidDelegate::RunChooser(
19 RenderFrameHost* frame,
20 std::vector<blink::mojom::HidDeviceFilterPtr> filters,
François Beaufortc655f4e2022-03-29 15:06:2821 std::vector<blink::mojom::HidDeviceFilterPtr> exclusion_filters,
Matt Reynolds8e207022019-06-26 01:59:2922 HidChooser::Callback callback) {
23 std::move(callback).Run(RunChooserInternal());
24 return nullptr;
25}
26
Jack Hsieh6a9daa9b2022-05-20 23:07:2627void MockHidDelegate::AddObserver(BrowserContext* browser_context,
28 Observer* observer) {
Jack Hsieh1d861682023-08-22 22:42:2729 if (assert_browser_context_) {
30 ASSERT_TRUE(browser_context);
31 }
Matt Reynolds9ae80442020-06-18 01:18:0732 observer_list_.AddObserver(observer);
33}
34
Matt Reynoldsf72811a42022-08-02 23:06:3735void MockHidDelegate::RemoveObserver(BrowserContext* browser_context,
36 Observer* observer) {
Jack Hsieh1d861682023-08-22 22:42:2737 if (assert_browser_context_) {
38 ASSERT_TRUE(browser_context);
39 }
Matt Reynolds9ae80442020-06-18 01:18:0740 observer_list_.RemoveObserver(observer);
41}
42
43void MockHidDelegate::OnDeviceAdded(
44 const device::mojom::HidDeviceInfo& device) {
45 for (auto& observer : observer_list_)
46 observer.OnDeviceAdded(device);
47}
48
49void MockHidDelegate::OnDeviceRemoved(
50 const device::mojom::HidDeviceInfo& device) {
51 for (auto& observer : observer_list_)
52 observer.OnDeviceRemoved(device);
53}
54
Matt Reynoldsd61dbac2021-03-31 23:18:3155void MockHidDelegate::OnDeviceChanged(
56 const device::mojom::HidDeviceInfo& device) {
57 for (auto& observer : observer_list_)
58 observer.OnDeviceChanged(device);
59}
60
Andy Paicu13f3f462021-03-09 12:14:5661void MockHidDelegate::OnPermissionRevoked(const url::Origin& origin) {
Andy Paicu5d991b72020-10-01 12:50:4762 for (auto& observer : observer_list_)
Andy Paicu13f3f462021-03-09 12:14:5663 observer.OnPermissionRevoked(origin);
Andy Paicu5d991b72020-10-01 12:50:4764}
65
Jack Hsiehfe45405a2023-08-01 16:29:4166void MockHidDelegate::OnHidManagerConnectionError() {
67 for (auto& observer : observer_list_) {
68 observer.OnHidManagerConnectionError();
69 }
70}
71
Jack Hsieh1d861682023-08-22 22:42:2772void MockHidDelegate::SetAssertBrowserContext(bool assert_browser_context) {
73 assert_browser_context_ = assert_browser_context;
74}
75
Matt Reynolds8e207022019-06-26 01:59:2976HidTestContentBrowserClient::HidTestContentBrowserClient() = default;
77
78HidTestContentBrowserClient::~HidTestContentBrowserClient() = default;
79
80HidDelegate* HidTestContentBrowserClient::GetHidDelegate() {
81 return &delegate_;
82}
83
84} // namespace content