For example, if you compile //device/usb/public/interfaces/chooser_service.mojom with for_blink = true and variant = "blink" you get the following definition of the GetPermission method:
using GetPermissionCallback = mojo::Callback<void(device::usb::DeviceInfoPtr)>;
virtual void GetPermission(mojo::WTFArray<device::usb::DeviceFilterPtr> device_ filters, const GetPermissionCallback& callback) = 0;
The DeviceInfoPtr type that the callback expects is device::usb::DeviceInfoPtr instead of device::usb::blink::DeviceInfoPtr.
Comment 1 by yzshen@chromium.org
, Mar 18 2016