Log Message
Get timestamps and ids working in WK2 gamepads (and test them!) https://bugs.webkit.org/show_bug.cgi?id=161112
Reviewed by Alex Christensen. Source/WebKit2: * Shared/Gamepad/GamepadData.cpp: (WebKit::GamepadData::GamepadData): (WebKit::GamepadData::encode): (WebKit::GamepadData::decode): * Shared/Gamepad/GamepadData.h: (WebKit::GamepadData::id): (WebKit::GamepadData::index): Deleted. * UIProcess/Gamepad/UIGamepad.cpp: (WebKit::UIGamepad::UIGamepad): (WebKit::UIGamepad::condensedGamepadData): (WebKit::UIGamepad::fullGamepadData): Include the ID for initial WebGamepad creation. (WebKit::UIGamepad::gamepadData): Deleted. * UIProcess/Gamepad/UIGamepad.h: * UIProcess/Gamepad/UIGamepadProvider.cpp: (WebKit::UIGamepadProvider::snapshotGamepads): * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::gamepadConnected): (WebKit::WebProcessPool::setInitialConnectedGamepads): * WebProcess/Gamepad/WebGamepad.cpp: (WebKit::WebGamepad::WebGamepad): (WebKit::WebGamepad::updateValues): LayoutTests: * gamepad/gamepad-polling-access-expected.txt: * gamepad/gamepad-polling-access.html: * gamepad/gamepad-timestamp-expected.txt: Added. * gamepad/gamepad-timestamp.html: Added.
Modified Paths
- trunk/LayoutTests/ChangeLog
- trunk/LayoutTests/gamepad/gamepad-polling-access-expected.txt
- trunk/LayoutTests/gamepad/gamepad-polling-access.html
- trunk/Source/WebKit2/ChangeLog
- trunk/Source/WebKit2/Shared/Gamepad/GamepadData.cpp
- trunk/Source/WebKit2/Shared/Gamepad/GamepadData.h
- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.cpp
- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.h
- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp
- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp
- trunk/Source/WebKit2/WebProcess/Gamepad/WebGamepad.cpp
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (204895 => 204896)
--- trunk/LayoutTests/ChangeLog 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/LayoutTests/ChangeLog 2016-08-24 16:22:37 UTC (rev 204896)
@@ -1,3 +1,15 @@
+2016-08-24 Brady Eidson <[email protected]>
+
+ Get timestamps and ids working in WK2 gamepads (and test them!)
+ https://bugs.webkit.org/show_bug.cgi?id=161112
+
+ Reviewed by Alex Christensen.
+
+ * gamepad/gamepad-polling-access-expected.txt:
+ * gamepad/gamepad-polling-access.html:
+ * gamepad/gamepad-timestamp-expected.txt: Added.
+ * gamepad/gamepad-timestamp.html: Added.
+
2016-08-24 Skachkov Oleksandr <[email protected]>
[ES2016] Allow assignment in for-in head in not-strict mode
Modified: trunk/LayoutTests/gamepad/gamepad-polling-access-expected.txt (204895 => 204896)
--- trunk/LayoutTests/gamepad/gamepad-polling-access-expected.txt 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/LayoutTests/gamepad/gamepad-polling-access-expected.txt 2016-08-24 16:22:37 UTC (rev 204896)
@@ -2,163 +2,203 @@
Connecting 20 different gamepads
Connecting gamepad:
[object Gamepad]
+Name: 0
Index: 0
Axes:
Buttons:
Connecting gamepad:
[object Gamepad],[object Gamepad]
+Name: 1
Index: 1
Axes: 0
Buttons: false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 2
Index: 2
Axes: 0,0
Buttons: false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 3
Index: 3
Axes: 0,0,0
Buttons: false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 4
Index: 4
Axes: 0,0,0,0
Buttons: false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 5
Index: 5
Axes: 0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 6
Index: 6
Axes: 0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 7
Index: 7
Axes: 0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 8
Index: 8
Axes: 0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 9
Index: 9
Axes: 0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 10
Index: 10
Axes: 0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 11
Index: 11
Axes: 0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 12
Index: 12
Axes: 0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 13
Index: 13
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 14
Index: 14
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 15
Index: 15
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 16
Index: 16
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 17
Index: 17
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 18
Index: 18
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Connecting gamepad:
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 19
Index: 19
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
Verifying there are 20 connected gamepads in the set of all gamepads
[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad],[object Gamepad]
+Name: 0
Index: 0
Axes:
Buttons:
+Name: 1
Index: 1
Axes: 0
Buttons: false-0
+Name: 2
Index: 2
Axes: 0,0
Buttons: false-0 false-0
+Name: 3
Index: 3
Axes: 0,0,0
Buttons: false-0 false-0 false-0
+Name: 4
Index: 4
Axes: 0,0,0,0
Buttons: false-0 false-0 false-0 false-0
+Name: 5
Index: 5
Axes: 0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0
+Name: 6
Index: 6
Axes: 0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0
+Name: 7
Index: 7
Axes: 0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 8
Index: 8
Axes: 0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 9
Index: 9
Axes: 0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 10
Index: 10
Axes: 0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 11
Index: 11
Axes: 0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 12
Index: 12
Axes: 0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 13
Index: 13
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 14
Index: 14
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 15
Index: 15
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 16
Index: 16
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 17
Index: 17
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 18
Index: 18
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
+Name: 19
Index: 19
Axes: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Buttons: false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0 false-0
@@ -206,6 +246,7 @@
Checking non-zero'ed details for a gamepad
Connecting gamepad:
,,,,,,,,,,[object Gamepad],,,,,,,,,
+Name: Awesome Joystick 5000
Index: 10
Axes: 0.7,-0.9,1,-1
Buttons: true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1 true-1
Modified: trunk/LayoutTests/gamepad/gamepad-polling-access.html (204895 => 204896)
--- trunk/LayoutTests/gamepad/gamepad-polling-access.html 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/LayoutTests/gamepad/gamepad-polling-access.html 2016-08-24 16:22:37 UTC (rev 204896)
@@ -34,6 +34,7 @@
function logGamepad(gp)
{
+ log("Name: " + gp.id);
log("Index: " + gp.index);
log("Axes: " + gp.axes);
Added: trunk/LayoutTests/gamepad/gamepad-timestamp-expected.txt (0 => 204896)
--- trunk/LayoutTests/gamepad/gamepad-timestamp-expected.txt (rev 0)
+++ trunk/LayoutTests/gamepad/gamepad-timestamp-expected.txt 2016-08-24 16:22:37 UTC (rev 204896)
@@ -0,0 +1,2 @@
+Increasing timestamp values seen for 10 RAF cycles
+
Added: trunk/LayoutTests/gamepad/gamepad-timestamp.html (0 => 204896)
--- trunk/LayoutTests/gamepad/gamepad-timestamp.html (rev 0)
+++ trunk/LayoutTests/gamepad/gamepad-timestamp.html 2016-08-24 16:22:37 UTC (rev 204896)
@@ -0,0 +1,76 @@
+<head>
+<script>
+
+if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.waitUntilDone();
+}
+
+function log(msg)
+{
+ document.getElementById("logger").innerHTML += msg + "<br>";
+}
+
+function finishTest()
+{
+ if (testRunner)
+ testRunner.notifyDone();
+}
+
+var rafCount = 0;
+var increasingTimestampsSeen = 0;
+var timestamp = 0;
+
+function rafCallback()
+{
+ var gamepad = navigator.getGamepads()[0];
+
+ if (gamepad.timestamp < timestamp) {
+ log("Timestamp on gamepad is " + gamepad.timestamp + " which is less than " + timestamp);
+ finishTest();
+ }
+
+ if (gamepad.timestamp > timestamp)
+ ++increasingTimestampsSeen;
+
+ if (increasingTimestampsSeen == 10) {
+ log("Increasing timestamp values seen for 10 RAF cycles");
+ finishTest();
+ }
+
+ if (++rafCount == 120) {
+ log("Went 120 RAF cycles without seeing 10 increasing timestamp values... yikes!");
+ finishTest();
+ }
+
+ timestamp = gamepad.timestamp;
+
+ if (gamepad.buttons[0] == 1.0)
+ testRunner.setMockGamepadButtonValue(0, 0, 0.0);
+ else
+ testRunner.setMockGamepadButtonValue(0, 0, 1.0);
+
+ requestAnimationFrame(rafCallback);
+}
+
+function handleGamepadConnect()
+{
+ requestAnimationFrame(rafCallback);
+}
+
+function runTest() {
+ addEventListener("gamepadconnected", handleGamepadConnect);
+
+ testRunner.setMockGamepadDetails(0, "Test Joystick", 2, 2);
+ testRunner.setMockGamepadAxisValue(0, 0, 0.7);
+ testRunner.setMockGamepadAxisValue(0, 1, -1.0);
+ testRunner.setMockGamepadButtonValue(0, 0, 1.0);
+ testRunner.setMockGamepadButtonValue(0, 1, 1.0);
+ testRunner.connectMockGamepad(0);
+}
+
+</script>
+</head>
+<body _onload_="runTest();">
+<div id="logger"></div>
+</body>
Modified: trunk/Source/WebKit2/ChangeLog (204895 => 204896)
--- trunk/Source/WebKit2/ChangeLog 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/ChangeLog 2016-08-24 16:22:37 UTC (rev 204896)
@@ -1,3 +1,36 @@
+2016-08-24 Brady Eidson <[email protected]>
+
+ Get timestamps and ids working in WK2 gamepads (and test them!)
+ https://bugs.webkit.org/show_bug.cgi?id=161112
+
+ Reviewed by Alex Christensen.
+
+ * Shared/Gamepad/GamepadData.cpp:
+ (WebKit::GamepadData::GamepadData):
+ (WebKit::GamepadData::encode):
+ (WebKit::GamepadData::decode):
+ * Shared/Gamepad/GamepadData.h:
+ (WebKit::GamepadData::id):
+ (WebKit::GamepadData::index): Deleted.
+
+ * UIProcess/Gamepad/UIGamepad.cpp:
+ (WebKit::UIGamepad::UIGamepad):
+ (WebKit::UIGamepad::condensedGamepadData):
+ (WebKit::UIGamepad::fullGamepadData): Include the ID for initial WebGamepad creation.
+ (WebKit::UIGamepad::gamepadData): Deleted.
+ * UIProcess/Gamepad/UIGamepad.h:
+
+ * UIProcess/Gamepad/UIGamepadProvider.cpp:
+ (WebKit::UIGamepadProvider::snapshotGamepads):
+
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::gamepadConnected):
+ (WebKit::WebProcessPool::setInitialConnectedGamepads):
+
+ * WebProcess/Gamepad/WebGamepad.cpp:
+ (WebKit::WebGamepad::WebGamepad):
+ (WebKit::WebGamepad::updateValues):
+
2016-08-24 Hunseop Jeong <[email protected]>
[EFL] Fix test_ewk2_view
Modified: trunk/Source/WebKit2/Shared/Gamepad/GamepadData.cpp (204895 => 204896)
--- trunk/Source/WebKit2/Shared/Gamepad/GamepadData.cpp 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/Shared/Gamepad/GamepadData.cpp 2016-08-24 16:22:37 UTC (rev 204896)
@@ -40,6 +40,14 @@
{
}
+GamepadData::GamepadData(unsigned index, const String& id, const Vector<double>& axisValues, const Vector<double>& buttonValues)
+ : m_index(index)
+ , m_id(id)
+ , m_axisValues(axisValues)
+ , m_buttonValues(buttonValues)
+{
+}
+
void GamepadData::encode(IPC::Encoder& encoder) const
{
encoder << m_isNull;
@@ -46,7 +54,7 @@
if (m_isNull)
return;
- encoder << m_index << m_axisValues << m_buttonValues;
+ encoder << m_index << m_id << m_axisValues << m_buttonValues;
}
bool GamepadData::decode(IPC::Decoder& decoder, GamepadData& data)
@@ -60,6 +68,9 @@
if (!decoder.decode(data.m_index))
return false;
+ if (!decoder.decode(data.m_id))
+ return false;
+
if (!decoder.decode(data.m_axisValues))
return false;
Modified: trunk/Source/WebKit2/Shared/Gamepad/GamepadData.h (204895 => 204896)
--- trunk/Source/WebKit2/Shared/Gamepad/GamepadData.h 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/Shared/Gamepad/GamepadData.h 2016-08-24 16:22:37 UTC (rev 204896)
@@ -45,6 +45,7 @@
}
GamepadData(unsigned index, const Vector<double>& axisValues, const Vector<double>& buttonValues);
+ GamepadData(unsigned index, const String& id, const Vector<double>& axisValues, const Vector<double>& buttonValues);
void encode(IPC::Encoder&) const;
static bool decode(IPC::Decoder&, GamepadData&);
@@ -52,11 +53,13 @@
bool isNull() const { return m_isNull; }
unsigned index() const { return m_index; }
+ const String& id() const { return m_id; }
const Vector<double>& axisValues() const { return m_axisValues; }
const Vector<double>& buttonValues() const { return m_buttonValues; }
private:
unsigned m_index;
+ String m_id;
Vector<double> m_axisValues;
Vector<double> m_buttonValues;
Modified: trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.cpp (204895 => 204896)
--- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.cpp 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.cpp 2016-08-24 16:22:37 UTC (rev 204896)
@@ -37,6 +37,7 @@
UIGamepad::UIGamepad(WebCore::PlatformGamepad& platformGamepad)
: m_index(platformGamepad.index())
+ , m_id(platformGamepad.id())
{
m_axisValues.resize(platformGamepad.axisValues().size());
m_buttonValues.resize(platformGamepad.buttonValues().size());
@@ -54,11 +55,17 @@
m_buttonValues = platformGamepad.buttonValues();
}
-GamepadData UIGamepad::gamepadData() const
+GamepadData UIGamepad::condensedGamepadData() const
{
return { m_index, m_axisValues, m_buttonValues };
}
+GamepadData UIGamepad::fullGamepadData() const
+{
+ return { m_index, m_id, m_axisValues, m_buttonValues };
}
+
+}
+
#endif // ENABLE(GAMEPAD)
Modified: trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.h (204895 => 204896)
--- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.h 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepad.h 2016-08-24 16:22:37 UTC (rev 204896)
@@ -28,6 +28,7 @@
#if ENABLE(GAMEPAD)
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class PlatformGamepad;
@@ -43,12 +44,14 @@
unsigned index() const { return m_index; }
- GamepadData gamepadData() const;
+ GamepadData condensedGamepadData() const;
+ GamepadData fullGamepadData() const;
void updateFromPlatformGamepad(WebCore::PlatformGamepad&);
private:
unsigned m_index;
+ String m_id;
Vector<double> m_axisValues;
Vector<double> m_buttonValues;
};
Modified: trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp (204895 => 204896)
--- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp 2016-08-24 16:22:37 UTC (rev 204896)
@@ -215,7 +215,7 @@
for (auto& gamepad : m_gamepads) {
if (gamepad)
- gamepadDatas.uncheckedAppend(gamepad->gamepadData());
+ gamepadDatas.uncheckedAppend(gamepad->condensedGamepadData());
else
gamepadDatas.uncheckedAppend({ });
}
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (204895 => 204896)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2016-08-24 16:22:37 UTC (rev 204896)
@@ -1278,7 +1278,7 @@
void WebProcessPool::gamepadConnected(const UIGamepad& gamepad)
{
for (auto& process : m_processesUsingGamepads)
- process->send(Messages::WebProcess::GamepadConnected(gamepad.gamepadData()), 0);
+ process->send(Messages::WebProcess::GamepadConnected(gamepad.fullGamepadData()), 0);
}
void WebProcessPool::gamepadDisconnected(const UIGamepad& gamepad)
@@ -1294,7 +1294,7 @@
for (size_t i = 0; i < gamepads.size(); ++i) {
if (!gamepads[i])
continue;
- gamepadDatas[i] = gamepads[i]->gamepadData();
+ gamepadDatas[i] = gamepads[i]->fullGamepadData();
}
for (auto& process : m_processesUsingGamepads)
Modified: trunk/Source/WebKit2/WebProcess/Gamepad/WebGamepad.cpp (204895 => 204896)
--- trunk/Source/WebKit2/WebProcess/Gamepad/WebGamepad.cpp 2016-08-24 13:35:38 UTC (rev 204895)
+++ trunk/Source/WebKit2/WebProcess/Gamepad/WebGamepad.cpp 2016-08-24 16:22:37 UTC (rev 204896)
@@ -30,7 +30,9 @@
#include "GamepadData.h"
#include "Logging.h"
+#include <wtf/CurrentTime.h>
+
namespace WebKit {
WebGamepad::WebGamepad(const GamepadData& gamepadData)
@@ -38,6 +40,7 @@
{
LOG(Gamepad, "Connecting WebGamepad %u", gamepadData.index());
+ m_id = gamepadData.id();
m_axisValues.resize(gamepadData.axisValues().size());
m_buttonValues.resize(gamepadData.buttonValues().size());
@@ -63,6 +66,8 @@
m_axisValues = gamepadData.axisValues();
m_buttonValues = gamepadData.buttonValues();
+
+ m_lastUpdateTime = monotonicallyIncreasingTime();
}
}
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
