Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(817)

Unified Diff: third_party/WebKit/Source/modules/webusb/USBEndpoint.cpp

Issue 1850023002: Consume Mojo services directly in Blink's WebUSB implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't do assignments in if statements. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/webusb/USBEndpoint.cpp
diff --git a/third_party/WebKit/Source/modules/webusb/USBEndpoint.cpp b/third_party/WebKit/Source/modules/webusb/USBEndpoint.cpp
index 970c4f58b7838c7b1cc7f685fdb4a0a25eb1492f..69879f42379960f110fe3ad87214cc397b621899 100644
--- a/third_party/WebKit/Source/modules/webusb/USBEndpoint.cpp
+++ b/third_party/WebKit/Source/modules/webusb/USBEndpoint.cpp
@@ -7,30 +7,22 @@
#include "bindings/core/v8/ExceptionState.h"
#include "core/dom/DOMException.h"
#include "core/dom/ExceptionCode.h"
+#include "device/usb/public/interfaces/device.mojom-wtf.h"
#include "modules/webusb/USBAlternateInterface.h"
-#include "public/platform/modules/webusb/WebUSBDevice.h"
+
+using device::usb::wtf::EndpointType;
+using device::usb::wtf::TransferDirection;
namespace blink {
namespace {
-bool convertDirectionFromEnum(const String& direction, WebUSBDevice::TransferDirection* webDirection)
-{
- if (direction == "in")
- *webDirection = WebUSBDevice::TransferDirection::In;
- else if (direction == "out")
- *webDirection = WebUSBDevice::TransferDirection::Out;
- else
- return false;
- return true;
-}
-
-String convertDirectionToEnum(const WebUSBDevice::TransferDirection& direction)
+String convertDirectionToEnum(const TransferDirection& direction)
{
switch (direction) {
- case WebUSBDevice::TransferDirection::In:
+ case TransferDirection::INBOUND:
return "in";
- case WebUSBDevice::TransferDirection::Out:
+ case TransferDirection::OUTBOUND:
return "out";
default:
ASSERT_NOT_REACHED();
@@ -38,14 +30,14 @@ String convertDirectionToEnum(const WebUSBDevice::TransferDirection& direction)
}
}
-String convertTypeToEnum(const WebUSBDeviceInfo::Endpoint::Type& type)
+String convertTypeToEnum(const EndpointType& type)
{
switch (type) {
- case WebUSBDeviceInfo::Endpoint::Type::Bulk:
+ case EndpointType::BULK:
return "bulk";
- case WebUSBDeviceInfo::Endpoint::Type::Interrupt:
+ case EndpointType::INTERRUPT:
return "interrupt";
- case WebUSBDeviceInfo::Endpoint::Type::Isochronous:
+ case EndpointType::ISOCHRONOUS:
return "isochronous";
default:
ASSERT_NOT_REACHED();
@@ -62,17 +54,14 @@ USBEndpoint* USBEndpoint::create(const USBAlternateInterface* alternate, size_t
USBEndpoint* USBEndpoint::create(const USBAlternateInterface* alternate, size_t endpointNumber, const String& direction, ExceptionState& exceptionState)
{
- WebUSBDevice::TransferDirection webDirection;
- if (!convertDirectionFromEnum(direction, &webDirection)) {
- exceptionState.throwRangeError("Invalid endpoint direction.");
- return nullptr;
- }
- for (size_t i = 0; i < alternate->info().endpoints.size(); ++i) {
- const WebUSBDeviceInfo::Endpoint& endpoint = alternate->info().endpoints[i];
- if (endpoint.endpointNumber == endpointNumber && endpoint.direction == webDirection)
+ TransferDirection mojoDirection = direction == "in" ? TransferDirection::INBOUND : TransferDirection::OUTBOUND;
+ const auto& endpoints = alternate->info().endpoints;
+ for (size_t i = 0; i < endpoints.size(); ++i) {
+ const auto& endpoint = endpoints[i];
+ if (endpoint->endpoint_number == endpointNumber && endpoint->direction == mojoDirection)
return USBEndpoint::create(alternate, i);
}
- exceptionState.throwRangeError("Invalid endpoint number.");
+ exceptionState.throwRangeError("No such endpoint exists in the given alternate interface.");
return nullptr;
}
@@ -84,16 +73,11 @@ USBEndpoint::USBEndpoint(const USBAlternateInterface* alternate, size_t endpoint
ASSERT(m_endpointIndex < m_alternate->info().endpoints.size());
}
-const WebUSBDeviceInfo::Endpoint& USBEndpoint::info() const
+const device::usb::wtf::EndpointInfo& USBEndpoint::info() const
{
- const WebUSBDeviceInfo::AlternateInterface& alternateInfo = m_alternate->info();
+ const device::usb::wtf::AlternateInterfaceInfo& alternateInfo = m_alternate->info();
ASSERT(m_endpointIndex < alternateInfo.endpoints.size());
- return alternateInfo.endpoints[m_endpointIndex];
-}
-
-uint8_t USBEndpoint::endpointNumber() const
-{
- return info().endpointNumber;
+ return *alternateInfo.endpoints[m_endpointIndex];
}
String USBEndpoint::direction() const
@@ -106,11 +90,6 @@ String USBEndpoint::type() const
return convertTypeToEnum(info().type);
}
-unsigned USBEndpoint::packetSize() const
-{
- return info().packetSize;
-}
-
DEFINE_TRACE(USBEndpoint)
{
visitor->trace(m_alternate);
« no previous file with comments | « third_party/WebKit/Source/modules/webusb/USBEndpoint.h ('k') | third_party/WebKit/Source/modules/webusb/USBError.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698