feat: add USB protected classes handler (#38263)
* feat: add USB protected classes handler * chore: apply review suggestions Co-authored-by: Charles Kerr <charles@charleskerr.com> * chore: update docs * chore: apply review suggestions * update doc per suggestion --------- Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
parent
71fb19ea14
commit
b4ec363b3d
9 changed files with 176 additions and 31 deletions
|
@ -25,6 +25,7 @@
|
|||
#include "shell/browser/web_contents_preferences.h"
|
||||
#include "shell/common/gin_converters/content_converter.h"
|
||||
#include "shell/common/gin_converters/frame_converter.h"
|
||||
#include "shell/common/gin_converters/usb_protected_classes_converter.h"
|
||||
#include "shell/common/gin_converters/value_converter.h"
|
||||
#include "shell/common/gin_helper/event_emitter_caller.h"
|
||||
#include "third_party/blink/public/common/permissions/permission_utils.h"
|
||||
|
@ -130,6 +131,11 @@ void ElectronPermissionManager::SetDevicePermissionHandler(
|
|||
device_permission_handler_ = handler;
|
||||
}
|
||||
|
||||
void ElectronPermissionManager::SetProtectedUSBHandler(
|
||||
const ProtectedUSBHandler& handler) {
|
||||
protected_usb_handler_ = handler;
|
||||
}
|
||||
|
||||
void ElectronPermissionManager::SetBluetoothPairingHandler(
|
||||
const BluetoothPairingHandler& handler) {
|
||||
bluetooth_pairing_handler_ = handler;
|
||||
|
@ -362,6 +368,21 @@ void ElectronPermissionManager::RevokeDevicePermission(
|
|||
browser_context->RevokeDevicePermission(origin, device, permission);
|
||||
}
|
||||
|
||||
ElectronPermissionManager::USBProtectedClasses
|
||||
ElectronPermissionManager::CheckProtectedUSBClasses(
|
||||
const USBProtectedClasses& classes) const {
|
||||
if (protected_usb_handler_.is_null()) {
|
||||
return classes;
|
||||
} else {
|
||||
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
|
||||
v8::HandleScope scope(isolate);
|
||||
v8::Local<v8::Object> details = gin::DataObjectBuilder(isolate)
|
||||
.Set("protectedClasses", classes)
|
||||
.Build();
|
||||
return protected_usb_handler_.Run(details);
|
||||
}
|
||||
}
|
||||
|
||||
blink::mojom::PermissionStatus
|
||||
ElectronPermissionManager::GetPermissionStatusForCurrentDocument(
|
||||
blink::PermissionType permission,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue