Created attachment 96428 [details] test case http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct states "Additionally, if the value is of type float, it is only a valid key if it is not NaN." This test attempts to add a record to an objectstore with NaN as the key. Expected behavior: throw TYPE_MISMATCH_ERR Actual behavior: no exception thrown, record added Test case attached.
Created attachment 109533 [details] Patch
NOTE: The layout tests for this and https://bugs.webkit.org/show_bug.cgi?id=62293 will conflict; that issue's expected.txt will need updating after this lands.
LGTM Being paranoid, could you (just locally) switch the stored value from [] to a string or int and ensure that the exception thrown is still type_mismatch? Unless you've already done something like that to convince yourself that the type_mismatch_err isn't thrown b/c of the value.
Created attachment 109541 [details] Patch
(In reply to comment #3) > Being paranoid, could you (just locally) switch the stored value from [] to a string or int and ensure that the exception thrown is still type_mismatch? Unless you've already done something like that to convince yourself that the type_mismatch_err isn't thrown b/c of the value. Yeah... the use of [] for a dummy value came from another test file. I changed it in the latest patch to the string 'value' which is more obvious. Also, changed the test from add() (which would throw on collision) to put(). Shouldn't matter, but removes one more plausible bit of confusion.
Comment on attachment 109541 [details] Patch Tony, can you review?
Comment on attachment 109541 [details] Patch Clearing flags on attachment: 109541 Committed r96631: <http://trac.webkit.org/changeset/96631>
All reviewed patches have been landed. Closing bug.