| Index: Source/modules/webusb/USBConfiguration.cpp
 | 
| diff --git a/Source/modules/webusb/USBConfiguration.cpp b/Source/modules/webusb/USBConfiguration.cpp
 | 
| index d08a98e301388c30356c900cad1cb6da8ac0d34c..399ba01fabccddb0748d4c94e1b9885ec44a63b0 100644
 | 
| --- a/Source/modules/webusb/USBConfiguration.cpp
 | 
| +++ b/Source/modules/webusb/USBConfiguration.cpp
 | 
| @@ -26,6 +26,15 @@ USBConfiguration* USBConfiguration::create(const USBDevice* device, size_t confi
 | 
|      return nullptr;
 | 
|  }
 | 
|  
 | 
| +USBConfiguration* USBConfiguration::createFromValue(const USBDevice* device, uint8_t configurationValue)
 | 
| +{
 | 
| +    for (size_t i = 0; i < device->info().configurations.size(); ++i) {
 | 
| +        if (device->info().configurations[i].configurationValue == configurationValue)
 | 
| +            return new USBConfiguration(device, i);
 | 
| +    }
 | 
| +    return nullptr;
 | 
| +}
 | 
| +
 | 
|  USBConfiguration::USBConfiguration(const USBDevice* device, size_t configurationIndex)
 | 
|      : m_device(device)
 | 
|      , m_configurationIndex(configurationIndex)
 | 
| 
 |