// Copyright 2022 The Chromium Embedded Framework Authors. Portions copyright // 2015 The Chromium Authors. All rights reserved. Use of this source code is // governed by a BSD-style license that can be found in the LICENSE file. #ifndef CEF_LIBCEF_BROWSER_ALLOY_ALLOY_PERMISSION_MANAGER_H_ #define CEF_LIBCEF_BROWSER_ALLOY_ALLOY_PERMISSION_MANAGER_H_ #pragma once #include "base/callback_forward.h" #include "content/public/browser/permission_controller_delegate.h" // Permision manager implementations that only allows WINDOW_PLACEMENT API class AlloyPermissionManager : public content::PermissionControllerDelegate { public: AlloyPermissionManager() = default; AlloyPermissionManager(const AlloyPermissionManager&) = delete; AlloyPermissionManager& operator=(const AlloyPermissionManager&) = delete; // PermissionManager implementation. void RequestPermission( blink::PermissionType permission, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, bool user_gesture, base::OnceCallback callback) override; void RequestPermissions( const std::vector& permission, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, bool user_gesture, base::OnceCallback< void(const std::vector&)> callback) override; void RequestPermissionsFromCurrentDocument( const std::vector& permissions, content::RenderFrameHost* render_frame_host, bool user_gesture, base::OnceCallback< void(const std::vector&)> callback) override; blink::mojom::PermissionStatus GetPermissionStatus( blink::PermissionType permission, const GURL& requesting_origin, const GURL& embedding_origin) override; blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument( blink::PermissionType permission, content::RenderFrameHost* render_frame_host) override; blink::mojom::PermissionStatus GetPermissionStatusForWorker( blink::PermissionType permission, content::RenderProcessHost* render_process_host, const GURL& worker_origin) override; void ResetPermission(blink::PermissionType permission, const GURL& requesting_origin, const GURL& embedding_origin) override; SubscriptionId SubscribePermissionStatusChange( blink::PermissionType permission, content::RenderProcessHost* render_process_host, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, base::RepeatingCallback callback) override; void UnsubscribePermissionStatusChange( SubscriptionId subscription_id) override; }; #endif // CEF_LIBCEF_BROWSER_ALLOY_ALLOY_PERMISSION_MANAGER_H_