|
22 | 22 | #include "CefResourceRequestHandlerAdapter.h"
|
23 | 23 | #include "CefRequestCallbackWrapper.h"
|
24 | 24 | #include "CefRunContextMenuCallbackWrapper.h"
|
| 25 | +#include "CefPermissionPromptCallbackWrapper.h" |
25 | 26 | #include "CefSslInfoWrapper.h"
|
26 | 27 | #include "CefBrowserWrapper.h"
|
| 28 | +#include "CefMediaAccessCallbackWrapper.h" |
27 | 29 | #include "ManagedCefBrowserAdapter.h"
|
28 | 30 | #include "Messaging\Messages.h"
|
29 | 31 | #include "PopupFeatures.h"
|
@@ -1182,6 +1184,50 @@ namespace CefSharp
|
1182 | 1184 | }
|
1183 | 1185 | }
|
1184 | 1186 |
|
| 1187 | + bool ClientAdapter::OnShowPermissionPrompt(CefRefPtr<CefBrowser> browser, uint64 prompt_id, |
| 1188 | + const CefString& requesting_origin, uint32 requested_permissions, |
| 1189 | + CefRefPtr<CefPermissionPromptCallback> callback) |
| 1190 | + { |
| 1191 | + auto handler = _browserControl->PermissionHandler; |
| 1192 | + if (handler != nullptr) |
| 1193 | + { |
| 1194 | + auto browserWrapper = GetBrowserWrapper(browser->GetIdentifier(), browser->IsPopup()); |
| 1195 | + auto callbackWrapper = gcnew CefPermissionPromptCallbackWrapper(callback); |
| 1196 | + |
| 1197 | + return handler->OnShowPermissionPrompt(_browserControl, browserWrapper, prompt_id, StringUtils::ToClr(requesting_origin), (CefPermissionType)requested_permissions, callbackWrapper); |
| 1198 | + } |
| 1199 | + |
| 1200 | + return false; |
| 1201 | + } |
| 1202 | + |
| 1203 | + void ClientAdapter::OnDismissPermissionPrompt(CefRefPtr<CefBrowser> browser, uint64 prompt_id, |
| 1204 | + cef_permission_request_result_t result) |
| 1205 | + { |
| 1206 | + auto handler = _browserControl->PermissionHandler; |
| 1207 | + if (handler != nullptr) |
| 1208 | + { |
| 1209 | + auto browserWrapper = GetBrowserWrapper(browser->GetIdentifier(), browser->IsPopup()); |
| 1210 | + |
| 1211 | + handler->OnDismissPermissionPrompt(_browserControl, browserWrapper, prompt_id, (CefPermissionResult)result); |
| 1212 | + } |
| 1213 | + } |
| 1214 | + |
| 1215 | + bool ClientAdapter::OnRequestMediaAccessPermission(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, |
| 1216 | + const CefString& requesting_origin, uint32 requested_permissions, |
| 1217 | + CefRefPtr<CefMediaAccessCallback> callback) |
| 1218 | + { |
| 1219 | + auto handler = _browserControl->PermissionHandler; |
| 1220 | + if (handler != nullptr) |
| 1221 | + { |
| 1222 | + auto browserWrapper = GetBrowserWrapper(browser->GetIdentifier(), browser->IsPopup()); |
| 1223 | + CefFrameWrapper frameWrapper(frame); |
| 1224 | + auto callbackWrapper = gcnew CefMediaAccessCallbackWrapper(callback); |
| 1225 | + |
| 1226 | + return handler->OnRequestMediaAccessPermission(_browserControl, browserWrapper, %frameWrapper, StringUtils::ToClr(requesting_origin), (CefMediaAccessPermissionType)requested_permissions, callbackWrapper); |
| 1227 | + } |
| 1228 | + return false; |
| 1229 | + } |
| 1230 | + |
1185 | 1231 | bool ClientAdapter::OnProcessMessageReceived(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefProcessId source_process, CefRefPtr<CefProcessMessage> message)
|
1186 | 1232 | {
|
1187 | 1233 | if (_disposed)
|
|
0 commit comments