Commit 68138413 authored by lgcheng's avatar lgcheng Committed by Commit Bot

GetDeviceList Permission

Invoke GetDeviceList permission check rather than treat as it is always
granted to apps.

Bug: b/78231419
Test: Manual
Change-Id: I838c00fd2d87719c8e9e8d5c9194144a279c0eca
Reviewed-on: https://chromium-review.googlesource.com/1014602Reviewed-by: default avatarLuis Hector Chavez <lhchavez@chromium.org>
Commit-Queue: Long Cheng <lgcheng@google.com>
Cr-Commit-Position: refs/heads/master@{#553806}
parent 9a0e0ad1
......@@ -118,6 +118,11 @@ void ArcUsbHostBridge::RequestPermission(const std::string& guid,
const std::string& package,
bool interactive,
RequestPermissionCallback callback) {
if (guid.empty()) {
HandleScanDeviceListRequest(package, std::move(callback));
return;
}
VLOG(2) << "USB RequestPermission " << guid << " package " << package;
// Permission already requested.
if (HasPermissionForDevice(guid, package)) {
......@@ -317,4 +322,18 @@ bool ArcUsbHostBridge::HasPermissionForDevice(const std::string& guid,
device->product_id());
}
void ArcUsbHostBridge::HandleScanDeviceListRequest(
const std::string& package,
RequestPermissionCallback callback) {
if (!ui_delegate_) {
std::move(callback).Run(false);
return;
}
VLOG(2) << "USB Request USB scan devicelist permission "
<< "package: " << package;
ui_delegate_->RequestUsbScanDeviceListPermission(package,
std::move(callback));
}
} // namespace arc
......@@ -80,6 +80,8 @@ class ArcUsbHostBridge : public KeyedService,
RequestPermissionCallback callback);
bool HasPermissionForDevice(const std::string& guid,
const std::string& package);
void HandleScanDeviceListRequest(const std::string& package,
RequestPermissionCallback callback);
ArcBridgeService* const arc_bridge_service_; // Owned by ArcServiceManager.
mojom::UsbHostHostPtr usb_host_ptr_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment