| Index: content/renderer/usb/web_usb_device_impl.cc
|
| diff --git a/content/renderer/usb/web_usb_device_impl.cc b/content/renderer/usb/web_usb_device_impl.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e59d5bf5dcf844198c563ffde237ca372dce7e00
|
| --- /dev/null
|
| +++ b/content/renderer/usb/web_usb_device_impl.cc
|
| @@ -0,0 +1,113 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "content/renderer/usb/web_usb_device_impl.h"
|
| +
|
| +#include "base/bind.h"
|
| +#include "base/callback.h"
|
| +#include "base/strings/utf_string_conversions.h"
|
| +#include "content/renderer/usb/type_converters.h"
|
| +#include "device/devices_app/public/cpp/constants.h"
|
| +#include "mojo/application/public/cpp/connect.h"
|
| +#include "mojo/application/public/interfaces/shell.mojom.h"
|
| +#include "third_party/WebKit/public/platform/WebVector.h"
|
| +#include "third_party/WebKit/public/platform/modules/webusb/WebUSBDeviceInfo.h"
|
| +#include "third_party/WebKit/public/platform/modules/webusb/WebUSBTransferInfo.h"
|
| +
|
| +namespace content {
|
| +
|
| +namespace {
|
| +
|
| +const char kNotImplementedError[] = "Not implemented.";
|
| +
|
| +template <typename ResultType>
|
| +void RejectAsNotImplemented(
|
| + blink::WebCallbacks<ResultType, const blink::WebUSBError&>* callbacks) {
|
| + callbacks->onError(
|
| + blink::WebUSBError(blink::WebUSBError::Error::Service,
|
| + base::UTF8ToUTF16(kNotImplementedError)));
|
| + delete callbacks;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +WebUSBDeviceImpl::WebUSBDeviceImpl(device::usb::DeviceManagerPtr device_manager,
|
| + const blink::WebUSBDeviceInfo& device_info)
|
| + : device_manager_(device_manager.Pass()),
|
| + device_info_(device_info),
|
| + weak_factory_(this) {}
|
| +
|
| +WebUSBDeviceImpl::~WebUSBDeviceImpl() {}
|
| +
|
| +const blink::WebUSBDeviceInfo& WebUSBDeviceImpl::info() const {
|
| + return device_info_;
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::open(blink::WebUSBDeviceOpenCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::close(blink::WebUSBDeviceCloseCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::setConfiguration(
|
| + uint8_t configuration_value,
|
| + blink::WebUSBDeviceSetConfigurationCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::claimInterface(
|
| + uint8_t interface_number,
|
| + blink::WebUSBDeviceClaimInterfaceCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::releaseInterface(
|
| + uint8_t interface_number,
|
| + blink::WebUSBDeviceReleaseInterfaceCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::setInterface(
|
| + uint8_t interface_number,
|
| + uint8_t alternate_setting,
|
| + blink::WebUSBDeviceSetInterfaceAlternateSettingCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::clearHalt(
|
| + uint8_t endpoint_number,
|
| + blink::WebUSBDeviceClearHaltCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::controlTransfer(
|
| + const blink::WebUSBDevice::ControlTransferParameters& parameters,
|
| + uint8_t* data,
|
| + size_t data_size,
|
| + unsigned int timeout,
|
| + blink::WebUSBDeviceControlTransferCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::transfer(
|
| + blink::WebUSBDevice::TransferDirection direction,
|
| + uint8_t endpoint_number,
|
| + uint8_t* data,
|
| + size_t data_size,
|
| + unsigned int timeout,
|
| + blink::WebUSBDeviceBulkTransferCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::reset(blink::WebUSBDeviceResetCallbacks* callbacks) {
|
| + RejectAsNotImplemented(callbacks);
|
| +}
|
| +
|
| +void WebUSBDeviceImpl::OnConnectionError() {
|
| + device_.reset();
|
| +}
|
| +
|
| +} // namespace content
|
|
|