Fix Gamepad::axes and Gamepad::buttons to avoid calling std::copy(..., ..., 0)
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Mar 2013 00:25:45 +0000 (00:25 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Mar 2013 00:25:45 +0000 (00:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=89510

Patch by James Robinson <jamesr@chromium.org> on 2013-03-12
Reviewed by Kenneth Russell.

Source/WebCore:

WTF::Vector::begin() returns 0 when the vector has length zero. On windows, the debug implementation of
std::copy() is unhappy with 0 as a third parameter even when the first and second parameters are equal.

Covered by gamepad/gamepad-polling-access.html

* Modules/gamepad/Gamepad.cpp:
(WebCore::Gamepad::axes):
(WebCore::Gamepad::buttons):

LayoutTests:

Remove expectation now that test passes.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/Modules/gamepad/Gamepad.cpp

index c47e604..24464b7 100644 (file)
@@ -1,3 +1,14 @@
+2013-03-12  James Robinson  <jamesr@chromium.org>
+
+        Fix Gamepad::axes and Gamepad::buttons to avoid calling std::copy(..., ..., 0)
+        https://bugs.webkit.org/show_bug.cgi?id=89510
+
+        Reviewed by Kenneth Russell.
+
+        Remove expectation now that test passes.
+
+        * platform/chromium/TestExpectations:
+
 2013-03-12  Filip Pizlo  <fpizlo@apple.com>
 
         Array.prototype.sort should at least try to be PTIME even when the array is in some bizarre mode
index c90fb27..2797063 100644 (file)
@@ -3572,9 +3572,6 @@ webkit.org/b/88832 [ XP ] http/tests/xmlhttprequest/origin-exact-matching.html [
 
 crbug.com/132898 http/tests/websocket/tests/hybi/workers/close.html [ Failure Pass ]
 
-# Timing out on some Windows bots
-webkit.org/b/89510 [ Win ] gamepad/gamepad-polling-access.html [ Pass Timeout ]
-
 webkit.org/b/96839 compositing/geometry/fixed-position-transform-composited-page-scale.html [ ImageOnlyFailure ]
 webkit.org/b/96839 platform/chromium/virtual/softwarecompositing/geometry/fixed-position-transform-composited-page-scale.html [ ImageOnlyFailure ]
 webkit.org/b/96839 compositing/geometry/fixed-position-transform-composited-page-scale-down.html [ ImageOnlyFailure ]
index 44c464a..d1913d9 100644 (file)
@@ -1,3 +1,19 @@
+2013-03-12  James Robinson  <jamesr@chromium.org>
+
+        Fix Gamepad::axes and Gamepad::buttons to avoid calling std::copy(..., ..., 0)
+        https://bugs.webkit.org/show_bug.cgi?id=89510
+
+        Reviewed by Kenneth Russell.
+
+        WTF::Vector::begin() returns 0 when the vector has length zero. On windows, the debug implementation of
+        std::copy() is unhappy with 0 as a third parameter even when the first and second parameters are equal.
+
+        Covered by gamepad/gamepad-polling-access.html
+
+        * Modules/gamepad/Gamepad.cpp:
+        (WebCore::Gamepad::axes):
+        (WebCore::Gamepad::buttons):
+
 2013-03-12  Elliott Sprehn  <esprehn@chromium.org>
 
         Remove TextIterator.cpp's isAllCollapsibleWhitespace
index aa4fb6f..89105ce 100644 (file)
@@ -41,13 +41,15 @@ Gamepad::Gamepad()
 void Gamepad::axes(unsigned count, float* data)
 {
     m_axes.resize(count);
-    std::copy(data, data + count, m_axes.begin());
+    if (count)
+        std::copy(data, data + count, m_axes.begin());
 }
 
 void Gamepad::buttons(unsigned count, float* data)
 {
     m_buttons.resize(count);
-    std::copy(data, data + count, m_buttons.begin());
+    if (count)
+        std::copy(data, data + count, m_buttons.begin());
 }
 
 Gamepad::~Gamepad()