2022-07-09 13:54:17 +10:00
|
|
|
// Copyright © 2022 The CefSharp Authors. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
|
|
using CefSharp.Handler;
|
|
|
|
|
|
|
|
|
|
namespace CefSharp.Example.Handlers
|
|
|
|
|
{
|
2022-08-08 15:41:45 +10:00
|
|
|
/// <summary>
|
|
|
|
|
/// A simple <see cref="PermissionHandler"/> implementation that programatically allows
|
|
|
|
|
/// all requests without user interaction.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class ExamplePermissionHandler : PermissionHandler
|
2022-07-09 13:54:17 +10:00
|
|
|
{
|
2022-08-08 14:18:54 +10:00
|
|
|
protected override bool OnShowPermissionPrompt(IWebBrowser chromiumWebBrowser, IBrowser browser, ulong promptId, string requestingOrigin, PermissionRequestType requestedPermissions, IPermissionPromptCallback callback)
|
2022-07-09 13:54:17 +10:00
|
|
|
{
|
|
|
|
|
using (callback)
|
|
|
|
|
{
|
|
|
|
|
System.Diagnostics.Debug.WriteLine($"{promptId}|{requestedPermissions} {requestingOrigin}");
|
2022-08-08 14:18:54 +10:00
|
|
|
callback.Continue(PermissionRequestResult.Accept);
|
2022-07-09 13:54:17 +10:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-08 14:18:54 +10:00
|
|
|
protected override void OnDismissPermissionPrompt(IWebBrowser chromiumWebBrowser, IBrowser browser, ulong promptId, PermissionRequestResult result)
|
2022-07-09 13:54:17 +10:00
|
|
|
{
|
|
|
|
|
base.OnDismissPermissionPrompt(chromiumWebBrowser, browser, promptId, result);
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-08 14:18:54 +10:00
|
|
|
protected override bool OnRequestMediaAccessPermission(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string requestingOrigin, MediaAccessPermissionType requestedPermissions, IMediaAccessCallback callback)
|
2022-07-09 13:54:17 +10:00
|
|
|
{
|
|
|
|
|
using (callback)
|
|
|
|
|
{
|
2022-08-08 15:41:45 +10:00
|
|
|
//Allow the requested permissions
|
|
|
|
|
callback.Continue(requestedPermissions);
|
2022-07-09 13:54:17 +10:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|