Bug 63085

Summary: IndexedDB: keyrange 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:21:04 PDT
http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBKeyRange states that only(), lowerBound(), upperBound(), and bound() have required arguments. As per the WebIDL spec, calling these functions without the required arguments should throw a TypeError. This test calls these functions without arguments, or with too few arguments, and checks that they throw properly.

Expected behavior: throw TypeError
Actual behavior: does not throw, creates IDBKeyRange object

Patch included. The fix is to remove the LegacyDefaultOptionalArguments flag from the IDBKeyRange.idl. This will force the code generator to check for required arguments and throw TypeError if they are missing.
Comment 1 Mark Pilgrim (Google) 2011-06-21 12:22:42 PDT
Created attachment 98039 [details]
Patch
Comment 2 WebKit Review Bot 2011-06-21 14:10:10 PDT
Comment on attachment 98039 [details]
Patch

Clearing flags on attachment: 98039

Committed r89380: <http://trac.webkit.org/changeset/89380>
Comment 3 WebKit Review Bot 2011-06-21 14:10:15 PDT
All reviewed patches have been landed.  Closing bug.