diff options
Diffstat (limited to 'chromium/content/public/browser/hid_delegate.h')
-rw-r--r-- | chromium/content/public/browser/hid_delegate.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/chromium/content/public/browser/hid_delegate.h b/chromium/content/public/browser/hid_delegate.h index e4cc2905082..758fdbf3a8d 100644 --- a/chromium/content/public/browser/hid_delegate.h +++ b/chromium/content/public/browser/hid_delegate.h @@ -8,6 +8,7 @@ #include <memory> #include <vector> +#include "base/observer_list_types.h" #include "content/common/content_export.h" #include "content/public/browser/hid_chooser.h" #include "services/device/public/mojom/hid.mojom-forward.h" @@ -26,6 +27,18 @@ class CONTENT_EXPORT HidDelegate { public: virtual ~HidDelegate() = default; + class Observer : public base::CheckedObserver { + public: + // Events forwarded from HidChooserContext::DeviceObserver: + virtual void OnDeviceAdded(const device::mojom::HidDeviceInfo&) = 0; + virtual void OnDeviceRemoved(const device::mojom::HidDeviceInfo&) = 0; + virtual void OnHidManagerConnectionError() = 0; + + // Event forwarded from permissions::ChooserContextBase::PermissionObserver: + virtual void OnPermissionRevoked(const url::Origin& requesting_origin, + const url::Origin& embedding_origin) = 0; + }; + // Shows a chooser for the user to select a HID device. |callback| will be // run when the prompt is closed. Deleting the returned object will cancel the // prompt. @@ -58,6 +71,11 @@ class CONTENT_EXPORT HidDelegate { // possible. virtual device::mojom::HidManager* GetHidManager( WebContents* web_contents) = 0; + + // Functions to manage the set of Observer instances registered to this + // object. + virtual void AddObserver(RenderFrameHost* frame, Observer* observer) = 0; + virtual void RemoveObserver(RenderFrameHost* frame, Observer* observer) = 0; }; } // namespace content |