Index: content/browser/gamepad/gamepad_platform_data_fetcher_win.cc |
diff --git a/content/browser/gamepad/gamepad_platform_data_fetcher_win.cc b/content/browser/gamepad/gamepad_platform_data_fetcher_win.cc |
index 1cd9b2c512ea43deed78287e16a54f3056faf2e8..feeb267d1e1265715c975ebf4feb082d6d0e9ec3 100644 |
--- a/content/browser/gamepad/gamepad_platform_data_fetcher_win.cc |
+++ b/content/browser/gamepad/gamepad_platform_data_fetcher_win.cc |
@@ -138,10 +138,22 @@ void GamepadPlatformDataFetcherWin::EnumerateDevices( |
std::string product = base::StringPrintf("%04x", gamepad->product_id); |
state.mapper = GetGamepadStandardMappingFunction(vendor, product); |
+#ifdef ENABLE_NEW_GAMEPAD_API |
+ swprintf(pad.id, WebGamepad::idLengthCap, |
+ L"%ls (Vendor: %04x Product: %04x)", |
+ gamepad->id, gamepad->vendor_id, gamepad->product_id); |
+ |
+ if (state.mapper) |
+ swprintf(pad.mapping, WebGamepad::mappingLengthCap, L"standard"); |
+ else |
+ pad.mapping[0] = 0; |
+#else |
swprintf(pad.id, WebGamepad::idLengthCap, |
L"%ls (%lsVendor: %04x Product: %04x)", |
gamepad->id, state.mapper ? L"STANDARD GAMEPAD " : L"", |
gamepad->vendor_id, gamepad->product_id); |
+#endif |
+ |
pads->length++; |
} |
} |
@@ -201,10 +213,15 @@ bool GamepadPlatformDataFetcherWin::GetXInputPadConnectivity( |
return false; |
} else { |
pad->connected = true; |
+#ifdef ENABLE_NEW_GAMEPAD_API |
+ swprintf(pad->id, WebGamepad::idLengthCap, L"Xbox 360 Controller (XInput)"); |
+ swprintf(pad->mapping, WebGamepad::mappingLengthCap, L"standard"); |
+#else |
swprintf(pad->id, |
WebGamepad::idLengthCap, |
L"Xbox 360 Controller (XInput STANDARD %ls)", |
GamepadSubTypeName(caps.SubType)); |
+#endif |
return true; |
} |
} |