When analysing two philip canvas tests I found that the ArrayBuffer bindings in Chromium have a fast path (ExternalArray) using ArrayBuffer's baseAddress to set indexed properties directly. This fast path does not use the same rounding (round to nearest, even in halfway case, equivalent to lrint()) that was put in place now for Uint8ClampedArray::set in order to adhere to the spec. For 2d.imageData.object.round.html to pass on Chromium, this needs to be fixed. More info in bug 40272.
Could you please provide a test case which demonstrates the problem?
There's a test case in bug 40272 that Chromium fails.
Filed V8 bug https://code.google.com/p/v8/issues/detail?id=2294 to track this.
The V8 bug is fixed. I will adjust canvas test expectations after V8 rolls in Chromium.
(In reply to comment #4)
> The V8 bug is fixed. I will adjust canvas test expectations after V8 rolls in Chromium.
Ulan, thanks for fixing this. Note that array-unit-tests.html was just updated in the Khronos WebGL github repo, so do you think you could pull in a revised version of this test and its expectations too?
> Note that array-unit-tests.html was just updated in the Khronos WebGL github repo, so do you think you could pull in a revised version of this test and its expectations too?
Yep, I can update the tests. But it looks like zmo@ is already taking care of this?
zmo@ updated the tests in the Khronos repo, but it would be great to pull the revised tests from the Khronos repo back into the WebKit repo as a layout test.
In Bug 40272 Benjamin requested a better fallback implementation for MSVC & !X86 - you might want to take a look and do something similar in V8.
it looks like the following layout tests that were listed as relevant to this bug are no longer failing.
BUGWK94246 : canvas/philip/tests/2d.imageData.object.round.html = TEXT
BUGWK94246 : platform/chromium/virtual/gpu/canvas/philip/tests/2d.imageData.object.round.html = TEXT
BUGWK94246 : fast/canvas/canvas-ImageData-behaviour.html = TEXT
BUGWK94246 : platform/chromium/virtual/gpu/fast/canvas/canvas-ImageData-behaviour.html = TEXT
So I've removed the suppressions in http://trac.webkit.org/changeset/128945 .
Can we now close this? It looks that way from what I can glean from the comments.
> Can we now close this? It looks that way from what I can glean from the comments.
Yes, V8 with the fix rolled in Chrome.