Bug 63087

Summary: IndexedDB: IDBObjectStore methods should throw TypeError if required arguments are missing
Product: WebKit Reporter: Mark Pilgrim (Google) <pilgrim>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dgrogan, fishd, hans, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Mark Pilgrim (Google) 2011-06-21 12:45:12 PDT
http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStore lists required arguments to put(), add(), delete(), get(), createIndex(), index(), and deleteIndex(). As per the WebIDL spec, calling functions with missing required arguments should throw a TypeError. This test calls these functions with no arguments, or with too few arguments, to see what happens.

Expected behavior: throw TypeError
Actual behavior: no exception thrown

Patch included. The fix is to remove the LegacyDefaultOptionalArguments flag from IDBObjectStore.idl, which will force the code generator to check for required arguments and throw TypeError when they are missing.
Comment 1 Mark Pilgrim (Google) 2011-06-21 12:48:13 PDT
Created attachment 98045 [details]
Patch
Comment 2 Adam Barth 2011-06-21 13:45:34 PDT
Comment on attachment 98045 [details]
Patch

These patches are so beautiful.  Thanks!
Comment 3 WebKit Review Bot 2011-06-21 14:20:27 PDT
Comment on attachment 98045 [details]
Patch

Clearing flags on attachment: 98045

Committed r89383: <http://trac.webkit.org/changeset/89383>
Comment 4 WebKit Review Bot 2011-06-21 14:20:32 PDT
All reviewed patches have been landed.  Closing bug.