123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // Copyright 2019 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 FUCHSIA_WEB_WEBENGINE_BROWSER_WEB_ENGINE_PERMISSION_DELEGATE_H_
- #define FUCHSIA_WEB_WEBENGINE_BROWSER_WEB_ENGINE_PERMISSION_DELEGATE_H_
- #include "content/public/browser/permission_controller_delegate.h"
- #include "content/public/browser/permission_result.h"
- namespace blink {
- enum class PermissionType;
- }
- // PermissionControllerDelegate implementation for WebEngine. It redirects
- // permission redirects all calls to the appropriate FramePermissionController
- // instance.
- class WebEnginePermissionDelegate
- : public content::PermissionControllerDelegate {
- public:
- WebEnginePermissionDelegate();
- ~WebEnginePermissionDelegate() override;
- WebEnginePermissionDelegate(WebEnginePermissionDelegate&) = delete;
- WebEnginePermissionDelegate& operator=(WebEnginePermissionDelegate&) = delete;
- // content::PermissionControllerDelegate implementation:
- void RequestPermission(
- blink::PermissionType permission,
- content::RenderFrameHost* render_frame_host,
- const GURL& requesting_origin,
- bool user_gesture,
- base::OnceCallback<void(blink::mojom::PermissionStatus)> callback)
- override;
- void RequestPermissions(
- const std::vector<blink::PermissionType>& permission,
- content::RenderFrameHost* render_frame_host,
- const GURL& requesting_origin,
- bool user_gesture,
- base::OnceCallback<
- void(const std::vector<blink::mojom::PermissionStatus>&)> callback)
- override;
- void ResetPermission(blink::PermissionType permission,
- const GURL& requesting_origin,
- const GURL& embedding_origin) override;
- void RequestPermissionsFromCurrentDocument(
- const std::vector<blink::PermissionType>& permissions,
- content::RenderFrameHost* render_frame_host,
- bool user_gesture,
- base::OnceCallback<
- void(const std::vector<blink::mojom::PermissionStatus>&)> callback)
- override;
- blink::mojom::PermissionStatus GetPermissionStatus(
- blink::PermissionType permission,
- const GURL& requesting_origin,
- const GURL& embedding_origin) override;
- content::PermissionResult GetPermissionResultForOriginWithoutContext(
- blink::PermissionType permission,
- const url::Origin& 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;
- SubscriptionId SubscribePermissionStatusChange(
- blink::PermissionType permission,
- content::RenderProcessHost* render_process_host,
- content::RenderFrameHost* render_frame_host,
- const GURL& requesting_origin,
- base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback)
- override;
- void UnsubscribePermissionStatusChange(
- SubscriptionId subscription_id) override;
- };
- #endif // FUCHSIA_WEB_WEBENGINE_BROWSER_WEB_ENGINE_PERMISSION_DELEGATE_H_
|