IndexedDB 2.0: Rename IDBKeyRange.contains to IDBKeyRange.includes.
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Nov 2016 01:08:55 +0000 (01:08 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Nov 2016 01:08:55 +0000 (01:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=164383

Reviewed by Beth Dakin.

LayoutTests/imported/w3c:

* web-platform-tests/IndexedDB/idbkeyrange-includes-expected.txt:

Source/WebCore:

No new tests (Updated existing tests).

* Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::includes):
(WebCore::IDBKeyRange::contains): Deleted.
* Modules/indexeddb/IDBKeyRange.h:
* Modules/indexeddb/IDBKeyRange.idl:

LayoutTests:

* storage/indexeddb/resources/keyrange.js:

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

LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbkeyrange-includes-expected.txt
LayoutTests/storage/indexeddb/keyrange-expected.txt
LayoutTests/storage/indexeddb/keyrange-private-expected.txt
LayoutTests/storage/indexeddb/resources/keyrange.js
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBKeyRange.cpp
Source/WebCore/Modules/indexeddb/IDBKeyRange.h
Source/WebCore/Modules/indexeddb/IDBKeyRange.idl

index f0c31c6..677c4a2 100644 (file)
@@ -1,3 +1,12 @@
+2016-11-03  Brady Eidson  <beidson@apple.com>
+
+        IndexedDB 2.0: Rename IDBKeyRange.contains to IDBKeyRange.includes.
+        https://bugs.webkit.org/show_bug.cgi?id=164383
+
+        Reviewed by Beth Dakin.
+
+        * storage/indexeddb/resources/keyrange.js:
+
 2016-11-03  Ryan Haddad  <ryanhaddad@apple.com>
 
         Marking two inspector/sampling-profiler tests as flaky.
index fa76822..fb2412b 100644 (file)
@@ -1,5 +1,14 @@
 2016-11-03  Brady Eidson  <beidson@apple.com>
 
+        IndexedDB 2.0: Rename IDBKeyRange.contains to IDBKeyRange.includes.
+        https://bugs.webkit.org/show_bug.cgi?id=164383
+
+        Reviewed by Beth Dakin.
+
+        * web-platform-tests/IndexedDB/idbkeyrange-includes-expected.txt:
+
+2016-11-03  Brady Eidson  <beidson@apple.com>
+
         IndexedDB 2.0: Support binary keys.
         <rdar://problem/28806927> and https://bugs.webkit.org/show_bug.cgi?id=164359
 
index a5f2475..88531c1 100644 (file)
@@ -1,9 +1,9 @@
 
-FAIL IDBKeyRange.includes() with a closed range assert_true: IDBKeyRange has a .includes expected true got false
-FAIL IDBKeyRange.includes() with an open range openRange.includes is not a function. (In 'openRange.includes(5)', 'openRange.includes' is undefined)
-FAIL IDBKeyRange.includes() with an only range range.includes is not a function. (In 'range.includes(42)', 'range.includes' is undefined)
-FAIL IDBKeyRange.includes() with an closed lower-bounded range range.includes is not a function. (In 'range.includes(4)', 'range.includes' is undefined)
-FAIL IDBKeyRange.includes() with an open lower-bounded range range.includes is not a function. (In 'range.includes(4)', 'range.includes' is undefined)
-FAIL IDBKeyRange.includes() with an closed upper-bounded range range.includes is not a function. (In 'range.includes(4)', 'range.includes' is undefined)
-FAIL IDBKeyRange.includes() with an open upper-bounded range range.includes is not a function. (In 'range.includes(4)', 'range.includes' is undefined)
+PASS IDBKeyRange.includes() with a closed range 
+PASS IDBKeyRange.includes() with an open range 
+PASS IDBKeyRange.includes() with an only range 
+PASS IDBKeyRange.includes() with an closed lower-bounded range 
+PASS IDBKeyRange.includes() with an open lower-bounded range 
+PASS IDBKeyRange.includes() with an closed upper-bounded range 
+PASS IDBKeyRange.includes() with an open upper-bounded range 
 
index 976f580..6f72ca6 100644 (file)
@@ -9,7 +9,7 @@ PASS 'lower' in IDBKeyRange is false
 PASS 'upper' in IDBKeyRange is false
 PASS 'lowerOpen' in IDBKeyRange is false
 PASS 'upperOpen' in IDBKeyRange is false
-PASS 'contains' in IDBKeyRange is false
+PASS 'includes' in IDBKeyRange is false
 PASS 'only' in IDBKeyRange is true
 PASS 'lowerBound' in IDBKeyRange is true
 PASS 'upperBound' in IDBKeyRange is true
@@ -20,7 +20,7 @@ PASS 'lower' in instance is true
 PASS 'upper' in instance is true
 PASS 'lowerOpen' in instance is true
 PASS 'upperOpen' in instance is true
-PASS 'contains' in instance is true
+PASS 'includes' in instance is true
 PASS 'only' in instance is false
 PASS 'lowerBound' in instance is false
 PASS 'upperBound' in instance is false
@@ -31,281 +31,281 @@ PASS keyRange.lower is 1
 PASS keyRange.upper is 1
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(1.1) is false
-PASS keyRange.contains(0.9) is false
-PASS keyRange.contains(1) is true
+PASS keyRange.includes(1.1) is false
+PASS keyRange.includes(0.9) is false
+PASS keyRange.includes(1) is true
 IDBKeyRange.only(3.14)
 PASS keyRange.lower is 3.14
 PASS keyRange.upper is 3.14
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(3.24) is false
-PASS keyRange.contains(3.04) is false
-PASS keyRange.contains(3.14) is true
+PASS keyRange.includes(3.24) is false
+PASS keyRange.includes(3.04) is false
+PASS keyRange.includes(3.14) is true
 IDBKeyRange.only('a')
 PASS keyRange.lower is 'a'
 PASS keyRange.upper is 'a'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aa') is false
-PASS keyRange.contains('') is false
-PASS keyRange.contains('a') is true
+PASS keyRange.includes('aa') is false
+PASS keyRange.includes('') is false
+PASS keyRange.includes('a') is true
 IDBKeyRange.lowerBound(10,true)
 PASS keyRange.lower is 10
 PASS keyRange.lowerOpen is true
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(10) is false
-PASS keyRange.contains(10.1) is true
-PASS keyRange.contains(9.9) is false
+PASS keyRange.includes(10) is false
+PASS keyRange.includes(10.1) is true
+PASS keyRange.includes(9.9) is false
 IDBKeyRange.lowerBound(11,false)
 PASS keyRange.lower is 11
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(11) is true
-PASS keyRange.contains(11.1) is true
-PASS keyRange.contains(10.9) is false
+PASS keyRange.includes(11) is true
+PASS keyRange.includes(11.1) is true
+PASS keyRange.includes(10.9) is false
 IDBKeyRange.lowerBound(12,undefined)
 PASS keyRange.lower is 12
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(12) is true
-PASS keyRange.contains(12.1) is true
-PASS keyRange.contains(11.9) is false
+PASS keyRange.includes(12) is true
+PASS keyRange.includes(12.1) is true
+PASS keyRange.includes(11.9) is false
 IDBKeyRange.lowerBound(10.1,true)
 PASS keyRange.lower is 10.1
 PASS keyRange.lowerOpen is true
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(10.1) is false
-PASS keyRange.contains(10.2) is true
-PASS keyRange.contains(10) is false
+PASS keyRange.includes(10.1) is false
+PASS keyRange.includes(10.2) is true
+PASS keyRange.includes(10) is false
 IDBKeyRange.lowerBound(11.2,false)
 PASS keyRange.lower is 11.2
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(11.2) is true
-PASS keyRange.contains(11.299999999999999) is true
-PASS keyRange.contains(11.1) is false
+PASS keyRange.includes(11.2) is true
+PASS keyRange.includes(11.299999999999999) is true
+PASS keyRange.includes(11.1) is false
 IDBKeyRange.lowerBound(12.3,undefined)
 PASS keyRange.lower is 12.3
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(12.3) is true
-PASS keyRange.contains(12.4) is true
-PASS keyRange.contains(12.200000000000001) is false
+PASS keyRange.includes(12.3) is true
+PASS keyRange.includes(12.4) is true
+PASS keyRange.includes(12.200000000000001) is false
 IDBKeyRange.lowerBound('aa',true)
 PASS keyRange.lower is 'aa'
 PASS keyRange.lowerOpen is true
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('aa') is false
-PASS keyRange.contains('aaa') is true
-PASS keyRange.contains('a') is false
+PASS keyRange.includes('aa') is false
+PASS keyRange.includes('aaa') is true
+PASS keyRange.includes('a') is false
 IDBKeyRange.lowerBound('ab',false)
 PASS keyRange.lower is 'ab'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('ab') is true
-PASS keyRange.contains('abb') is true
-PASS keyRange.contains('a') is false
+PASS keyRange.includes('ab') is true
+PASS keyRange.includes('abb') is true
+PASS keyRange.includes('a') is false
 IDBKeyRange.lowerBound('ac',undefined)
 PASS keyRange.lower is 'ac'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('ac') is true
-PASS keyRange.contains('acc') is true
-PASS keyRange.contains('a') is false
+PASS keyRange.includes('ac') is true
+PASS keyRange.includes('acc') is true
+PASS keyRange.includes('a') is false
 IDBKeyRange.upperBound(20,true)
 PASS keyRange.upper is 20
 PASS keyRange.upperOpen is true
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(20) is false
-PASS keyRange.contains(20.1) is false
-PASS keyRange.contains(19.9) is true
+PASS keyRange.includes(20) is false
+PASS keyRange.includes(20.1) is false
+PASS keyRange.includes(19.9) is true
 IDBKeyRange.upperBound(21,false)
 PASS keyRange.upper is 21
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(21) is true
-PASS keyRange.contains(21.1) is false
-PASS keyRange.contains(20.9) is true
+PASS keyRange.includes(21) is true
+PASS keyRange.includes(21.1) is false
+PASS keyRange.includes(20.9) is true
 IDBKeyRange.upperBound(22,undefined)
 PASS keyRange.upper is 22
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(22) is true
-PASS keyRange.contains(22.1) is false
-PASS keyRange.contains(21.9) is true
+PASS keyRange.includes(22) is true
+PASS keyRange.includes(22.1) is false
+PASS keyRange.includes(21.9) is true
 IDBKeyRange.upperBound(20.2,true)
 PASS keyRange.upper is 20.2
 PASS keyRange.upperOpen is true
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(20.2) is false
-PASS keyRange.contains(20.3) is false
-PASS keyRange.contains(20.099999999999998) is true
+PASS keyRange.includes(20.2) is false
+PASS keyRange.includes(20.3) is false
+PASS keyRange.includes(20.099999999999998) is true
 IDBKeyRange.upperBound(21.3,false)
 PASS keyRange.upper is 21.3
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(21.3) is true
-PASS keyRange.contains(21.400000000000002) is false
-PASS keyRange.contains(21.2) is true
+PASS keyRange.includes(21.3) is true
+PASS keyRange.includes(21.400000000000002) is false
+PASS keyRange.includes(21.2) is true
 IDBKeyRange.upperBound(22.4,undefined)
 PASS keyRange.upper is 22.4
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(22.4) is true
-PASS keyRange.contains(22.5) is false
-PASS keyRange.contains(22.299999999999997) is true
+PASS keyRange.includes(22.4) is true
+PASS keyRange.includes(22.5) is false
+PASS keyRange.includes(22.299999999999997) is true
 IDBKeyRange.upperBound('ba',true)
 PASS keyRange.upper is 'ba'
 PASS keyRange.upperOpen is true
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains('ba') is false
-PASS keyRange.contains('baa') is false
-PASS keyRange.contains('b') is true
+PASS keyRange.includes('ba') is false
+PASS keyRange.includes('baa') is false
+PASS keyRange.includes('b') is true
 IDBKeyRange.upperBound('bb',false)
 PASS keyRange.upper is 'bb'
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains('bb') is true
-PASS keyRange.contains('bbb') is false
-PASS keyRange.contains('b') is true
+PASS keyRange.includes('bb') is true
+PASS keyRange.includes('bbb') is false
+PASS keyRange.includes('b') is true
 IDBKeyRange.upperBound('bc',undefined)
 PASS keyRange.upper is 'bc'
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains('bc') is true
-PASS keyRange.contains('bcc') is false
-PASS keyRange.contains('b') is true
+PASS keyRange.includes('bc') is true
+PASS keyRange.includes('bcc') is false
+PASS keyRange.includes('b') is true
 IDBKeyRange.bound(30,40, undefined, undefined)
 PASS keyRange.lower is 30
 PASS keyRange.upper is 40
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(30) is true
-PASS keyRange.contains(40) is true
+PASS keyRange.includes(30) is true
+PASS keyRange.includes(40) is true
 IDBKeyRange.bound(31,41, false, false)
 PASS keyRange.lower is 31
 PASS keyRange.upper is 41
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(31) is true
-PASS keyRange.contains(41) is true
+PASS keyRange.includes(31) is true
+PASS keyRange.includes(41) is true
 IDBKeyRange.bound(32,42, false, true)
 PASS keyRange.lower is 32
 PASS keyRange.upper is 42
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(32) is true
-PASS keyRange.contains(42) is false
+PASS keyRange.includes(32) is true
+PASS keyRange.includes(42) is false
 IDBKeyRange.bound(33,43, true, false)
 PASS keyRange.lower is 33
 PASS keyRange.upper is 43
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(33) is false
-PASS keyRange.contains(43) is true
+PASS keyRange.includes(33) is false
+PASS keyRange.includes(43) is true
 IDBKeyRange.bound(34,44, true, true)
 PASS keyRange.lower is 34
 PASS keyRange.upper is 44
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(34) is false
-PASS keyRange.contains(44) is false
+PASS keyRange.includes(34) is false
+PASS keyRange.includes(44) is false
 IDBKeyRange.bound(30.1,40.2, undefined, undefined)
 PASS keyRange.lower is 30.1
 PASS keyRange.upper is 40.2
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(30.1) is true
-PASS keyRange.contains(40.2) is true
+PASS keyRange.includes(30.1) is true
+PASS keyRange.includes(40.2) is true
 IDBKeyRange.bound(31.3,41.4, false, false)
 PASS keyRange.lower is 31.3
 PASS keyRange.upper is 41.4
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(31.3) is true
-PASS keyRange.contains(41.4) is true
+PASS keyRange.includes(31.3) is true
+PASS keyRange.includes(41.4) is true
 IDBKeyRange.bound(32.5,42.6, false, true)
 PASS keyRange.lower is 32.5
 PASS keyRange.upper is 42.6
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(32.5) is true
-PASS keyRange.contains(42.6) is false
+PASS keyRange.includes(32.5) is true
+PASS keyRange.includes(42.6) is false
 IDBKeyRange.bound(33.7,43.8, true, false)
 PASS keyRange.lower is 33.7
 PASS keyRange.upper is 43.8
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(33.7) is false
-PASS keyRange.contains(43.8) is true
+PASS keyRange.includes(33.7) is false
+PASS keyRange.includes(43.8) is true
 IDBKeyRange.bound(34.9,44, true, true)
 PASS keyRange.lower is 34.9
 PASS keyRange.upper is 44
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(34.9) is false
-PASS keyRange.contains(44) is false
+PASS keyRange.includes(34.9) is false
+PASS keyRange.includes(44) is false
 IDBKeyRange.bound('aaa','aba', false, false)
 PASS keyRange.lower is 'aaa'
 PASS keyRange.upper is 'aba'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aaa') is true
-PASS keyRange.contains('aba') is true
+PASS keyRange.includes('aaa') is true
+PASS keyRange.includes('aba') is true
 IDBKeyRange.bound('aab','abb', undefined, undefined)
 PASS keyRange.lower is 'aab'
 PASS keyRange.upper is 'abb'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aab') is true
-PASS keyRange.contains('abb') is true
+PASS keyRange.includes('aab') is true
+PASS keyRange.includes('abb') is true
 IDBKeyRange.bound('aac','abc', false, false)
 PASS keyRange.lower is 'aac'
 PASS keyRange.upper is 'abc'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aac') is true
-PASS keyRange.contains('abc') is true
+PASS keyRange.includes('aac') is true
+PASS keyRange.includes('abc') is true
 IDBKeyRange.bound('aad','abd', false, true)
 PASS keyRange.lower is 'aad'
 PASS keyRange.upper is 'abd'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('aad') is true
-PASS keyRange.contains('abd') is false
+PASS keyRange.includes('aad') is true
+PASS keyRange.includes('abd') is false
 IDBKeyRange.bound('aae','abe', true, false)
 PASS keyRange.lower is 'aae'
 PASS keyRange.upper is 'abe'
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aae') is false
-PASS keyRange.contains('abe') is true
+PASS keyRange.includes('aae') is false
+PASS keyRange.includes('abe') is true
 IDBKeyRange.bound('aaf','abf', true, true)
 PASS keyRange.lower is 'aaf'
 PASS keyRange.upper is 'abf'
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('aaf') is false
-PASS keyRange.contains('abf') is false
+PASS keyRange.includes('aaf') is false
+PASS keyRange.includes('abf') is false
 Passing an invalid key into only({})
 Expecting exception from IDBKeyRange.only({})
 PASS Exception was thrown.
@@ -367,12 +367,12 @@ PASS code is 0
 PASS ename is 'DataError'
 Exception message: The data provided does not meet requirements.
 Equal keys, none of the bounds is open, bound(4, 4, false, false)
-Passing an invalid key in to IDBKeyRange.contains({})
-Expecting exception from invalidKeyKeyRange.contains({})
+Passing an invalid key in to IDBKeyRange.includes({})
+Expecting exception from invalidKeyKeyRange.includes({})
 PASS Exception was thrown.
 PASS code is 0
 PASS ename is 'DataError'
-Exception message: Failed to execute 'contains' on 'IDBKeyRange': The passed-in value is not a valid IndexedDB key.
+Exception message: Failed to execute 'includes' on 'IDBKeyRange': The passed-in value is not a valid IndexedDB key.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 976f580..6f72ca6 100644 (file)
@@ -9,7 +9,7 @@ PASS 'lower' in IDBKeyRange is false
 PASS 'upper' in IDBKeyRange is false
 PASS 'lowerOpen' in IDBKeyRange is false
 PASS 'upperOpen' in IDBKeyRange is false
-PASS 'contains' in IDBKeyRange is false
+PASS 'includes' in IDBKeyRange is false
 PASS 'only' in IDBKeyRange is true
 PASS 'lowerBound' in IDBKeyRange is true
 PASS 'upperBound' in IDBKeyRange is true
@@ -20,7 +20,7 @@ PASS 'lower' in instance is true
 PASS 'upper' in instance is true
 PASS 'lowerOpen' in instance is true
 PASS 'upperOpen' in instance is true
-PASS 'contains' in instance is true
+PASS 'includes' in instance is true
 PASS 'only' in instance is false
 PASS 'lowerBound' in instance is false
 PASS 'upperBound' in instance is false
@@ -31,281 +31,281 @@ PASS keyRange.lower is 1
 PASS keyRange.upper is 1
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(1.1) is false
-PASS keyRange.contains(0.9) is false
-PASS keyRange.contains(1) is true
+PASS keyRange.includes(1.1) is false
+PASS keyRange.includes(0.9) is false
+PASS keyRange.includes(1) is true
 IDBKeyRange.only(3.14)
 PASS keyRange.lower is 3.14
 PASS keyRange.upper is 3.14
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(3.24) is false
-PASS keyRange.contains(3.04) is false
-PASS keyRange.contains(3.14) is true
+PASS keyRange.includes(3.24) is false
+PASS keyRange.includes(3.04) is false
+PASS keyRange.includes(3.14) is true
 IDBKeyRange.only('a')
 PASS keyRange.lower is 'a'
 PASS keyRange.upper is 'a'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aa') is false
-PASS keyRange.contains('') is false
-PASS keyRange.contains('a') is true
+PASS keyRange.includes('aa') is false
+PASS keyRange.includes('') is false
+PASS keyRange.includes('a') is true
 IDBKeyRange.lowerBound(10,true)
 PASS keyRange.lower is 10
 PASS keyRange.lowerOpen is true
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(10) is false
-PASS keyRange.contains(10.1) is true
-PASS keyRange.contains(9.9) is false
+PASS keyRange.includes(10) is false
+PASS keyRange.includes(10.1) is true
+PASS keyRange.includes(9.9) is false
 IDBKeyRange.lowerBound(11,false)
 PASS keyRange.lower is 11
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(11) is true
-PASS keyRange.contains(11.1) is true
-PASS keyRange.contains(10.9) is false
+PASS keyRange.includes(11) is true
+PASS keyRange.includes(11.1) is true
+PASS keyRange.includes(10.9) is false
 IDBKeyRange.lowerBound(12,undefined)
 PASS keyRange.lower is 12
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(12) is true
-PASS keyRange.contains(12.1) is true
-PASS keyRange.contains(11.9) is false
+PASS keyRange.includes(12) is true
+PASS keyRange.includes(12.1) is true
+PASS keyRange.includes(11.9) is false
 IDBKeyRange.lowerBound(10.1,true)
 PASS keyRange.lower is 10.1
 PASS keyRange.lowerOpen is true
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(10.1) is false
-PASS keyRange.contains(10.2) is true
-PASS keyRange.contains(10) is false
+PASS keyRange.includes(10.1) is false
+PASS keyRange.includes(10.2) is true
+PASS keyRange.includes(10) is false
 IDBKeyRange.lowerBound(11.2,false)
 PASS keyRange.lower is 11.2
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(11.2) is true
-PASS keyRange.contains(11.299999999999999) is true
-PASS keyRange.contains(11.1) is false
+PASS keyRange.includes(11.2) is true
+PASS keyRange.includes(11.299999999999999) is true
+PASS keyRange.includes(11.1) is false
 IDBKeyRange.lowerBound(12.3,undefined)
 PASS keyRange.lower is 12.3
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(12.3) is true
-PASS keyRange.contains(12.4) is true
-PASS keyRange.contains(12.200000000000001) is false
+PASS keyRange.includes(12.3) is true
+PASS keyRange.includes(12.4) is true
+PASS keyRange.includes(12.200000000000001) is false
 IDBKeyRange.lowerBound('aa',true)
 PASS keyRange.lower is 'aa'
 PASS keyRange.lowerOpen is true
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('aa') is false
-PASS keyRange.contains('aaa') is true
-PASS keyRange.contains('a') is false
+PASS keyRange.includes('aa') is false
+PASS keyRange.includes('aaa') is true
+PASS keyRange.includes('a') is false
 IDBKeyRange.lowerBound('ab',false)
 PASS keyRange.lower is 'ab'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('ab') is true
-PASS keyRange.contains('abb') is true
-PASS keyRange.contains('a') is false
+PASS keyRange.includes('ab') is true
+PASS keyRange.includes('abb') is true
+PASS keyRange.includes('a') is false
 IDBKeyRange.lowerBound('ac',undefined)
 PASS keyRange.lower is 'ac'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is undefined.
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('ac') is true
-PASS keyRange.contains('acc') is true
-PASS keyRange.contains('a') is false
+PASS keyRange.includes('ac') is true
+PASS keyRange.includes('acc') is true
+PASS keyRange.includes('a') is false
 IDBKeyRange.upperBound(20,true)
 PASS keyRange.upper is 20
 PASS keyRange.upperOpen is true
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(20) is false
-PASS keyRange.contains(20.1) is false
-PASS keyRange.contains(19.9) is true
+PASS keyRange.includes(20) is false
+PASS keyRange.includes(20.1) is false
+PASS keyRange.includes(19.9) is true
 IDBKeyRange.upperBound(21,false)
 PASS keyRange.upper is 21
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(21) is true
-PASS keyRange.contains(21.1) is false
-PASS keyRange.contains(20.9) is true
+PASS keyRange.includes(21) is true
+PASS keyRange.includes(21.1) is false
+PASS keyRange.includes(20.9) is true
 IDBKeyRange.upperBound(22,undefined)
 PASS keyRange.upper is 22
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(22) is true
-PASS keyRange.contains(22.1) is false
-PASS keyRange.contains(21.9) is true
+PASS keyRange.includes(22) is true
+PASS keyRange.includes(22.1) is false
+PASS keyRange.includes(21.9) is true
 IDBKeyRange.upperBound(20.2,true)
 PASS keyRange.upper is 20.2
 PASS keyRange.upperOpen is true
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(20.2) is false
-PASS keyRange.contains(20.3) is false
-PASS keyRange.contains(20.099999999999998) is true
+PASS keyRange.includes(20.2) is false
+PASS keyRange.includes(20.3) is false
+PASS keyRange.includes(20.099999999999998) is true
 IDBKeyRange.upperBound(21.3,false)
 PASS keyRange.upper is 21.3
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(21.3) is true
-PASS keyRange.contains(21.400000000000002) is false
-PASS keyRange.contains(21.2) is true
+PASS keyRange.includes(21.3) is true
+PASS keyRange.includes(21.400000000000002) is false
+PASS keyRange.includes(21.2) is true
 IDBKeyRange.upperBound(22.4,undefined)
 PASS keyRange.upper is 22.4
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains(22.4) is true
-PASS keyRange.contains(22.5) is false
-PASS keyRange.contains(22.299999999999997) is true
+PASS keyRange.includes(22.4) is true
+PASS keyRange.includes(22.5) is false
+PASS keyRange.includes(22.299999999999997) is true
 IDBKeyRange.upperBound('ba',true)
 PASS keyRange.upper is 'ba'
 PASS keyRange.upperOpen is true
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains('ba') is false
-PASS keyRange.contains('baa') is false
-PASS keyRange.contains('b') is true
+PASS keyRange.includes('ba') is false
+PASS keyRange.includes('baa') is false
+PASS keyRange.includes('b') is true
 IDBKeyRange.upperBound('bb',false)
 PASS keyRange.upper is 'bb'
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains('bb') is true
-PASS keyRange.contains('bbb') is false
-PASS keyRange.contains('b') is true
+PASS keyRange.includes('bb') is true
+PASS keyRange.includes('bbb') is false
+PASS keyRange.includes('b') is true
 IDBKeyRange.upperBound('bc',undefined)
 PASS keyRange.upper is 'bc'
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is undefined.
 PASS keyRange.lowerOpen is true
-PASS keyRange.contains('bc') is true
-PASS keyRange.contains('bcc') is false
-PASS keyRange.contains('b') is true
+PASS keyRange.includes('bc') is true
+PASS keyRange.includes('bcc') is false
+PASS keyRange.includes('b') is true
 IDBKeyRange.bound(30,40, undefined, undefined)
 PASS keyRange.lower is 30
 PASS keyRange.upper is 40
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(30) is true
-PASS keyRange.contains(40) is true
+PASS keyRange.includes(30) is true
+PASS keyRange.includes(40) is true
 IDBKeyRange.bound(31,41, false, false)
 PASS keyRange.lower is 31
 PASS keyRange.upper is 41
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(31) is true
-PASS keyRange.contains(41) is true
+PASS keyRange.includes(31) is true
+PASS keyRange.includes(41) is true
 IDBKeyRange.bound(32,42, false, true)
 PASS keyRange.lower is 32
 PASS keyRange.upper is 42
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(32) is true
-PASS keyRange.contains(42) is false
+PASS keyRange.includes(32) is true
+PASS keyRange.includes(42) is false
 IDBKeyRange.bound(33,43, true, false)
 PASS keyRange.lower is 33
 PASS keyRange.upper is 43
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(33) is false
-PASS keyRange.contains(43) is true
+PASS keyRange.includes(33) is false
+PASS keyRange.includes(43) is true
 IDBKeyRange.bound(34,44, true, true)
 PASS keyRange.lower is 34
 PASS keyRange.upper is 44
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(34) is false
-PASS keyRange.contains(44) is false
+PASS keyRange.includes(34) is false
+PASS keyRange.includes(44) is false
 IDBKeyRange.bound(30.1,40.2, undefined, undefined)
 PASS keyRange.lower is 30.1
 PASS keyRange.upper is 40.2
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(30.1) is true
-PASS keyRange.contains(40.2) is true
+PASS keyRange.includes(30.1) is true
+PASS keyRange.includes(40.2) is true
 IDBKeyRange.bound(31.3,41.4, false, false)
 PASS keyRange.lower is 31.3
 PASS keyRange.upper is 41.4
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(31.3) is true
-PASS keyRange.contains(41.4) is true
+PASS keyRange.includes(31.3) is true
+PASS keyRange.includes(41.4) is true
 IDBKeyRange.bound(32.5,42.6, false, true)
 PASS keyRange.lower is 32.5
 PASS keyRange.upper is 42.6
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(32.5) is true
-PASS keyRange.contains(42.6) is false
+PASS keyRange.includes(32.5) is true
+PASS keyRange.includes(42.6) is false
 IDBKeyRange.bound(33.7,43.8, true, false)
 PASS keyRange.lower is 33.7
 PASS keyRange.upper is 43.8
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is false
-PASS keyRange.contains(33.7) is false
-PASS keyRange.contains(43.8) is true
+PASS keyRange.includes(33.7) is false
+PASS keyRange.includes(43.8) is true
 IDBKeyRange.bound(34.9,44, true, true)
 PASS keyRange.lower is 34.9
 PASS keyRange.upper is 44
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-PASS keyRange.contains(34.9) is false
-PASS keyRange.contains(44) is false
+PASS keyRange.includes(34.9) is false
+PASS keyRange.includes(44) is false
 IDBKeyRange.bound('aaa','aba', false, false)
 PASS keyRange.lower is 'aaa'
 PASS keyRange.upper is 'aba'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aaa') is true
-PASS keyRange.contains('aba') is true
+PASS keyRange.includes('aaa') is true
+PASS keyRange.includes('aba') is true
 IDBKeyRange.bound('aab','abb', undefined, undefined)
 PASS keyRange.lower is 'aab'
 PASS keyRange.upper is 'abb'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aab') is true
-PASS keyRange.contains('abb') is true
+PASS keyRange.includes('aab') is true
+PASS keyRange.includes('abb') is true
 IDBKeyRange.bound('aac','abc', false, false)
 PASS keyRange.lower is 'aac'
 PASS keyRange.upper is 'abc'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aac') is true
-PASS keyRange.contains('abc') is true
+PASS keyRange.includes('aac') is true
+PASS keyRange.includes('abc') is true
 IDBKeyRange.bound('aad','abd', false, true)
 PASS keyRange.lower is 'aad'
 PASS keyRange.upper is 'abd'
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('aad') is true
-PASS keyRange.contains('abd') is false
+PASS keyRange.includes('aad') is true
+PASS keyRange.includes('abd') is false
 IDBKeyRange.bound('aae','abe', true, false)
 PASS keyRange.lower is 'aae'
 PASS keyRange.upper is 'abe'
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is false
-PASS keyRange.contains('aae') is false
-PASS keyRange.contains('abe') is true
+PASS keyRange.includes('aae') is false
+PASS keyRange.includes('abe') is true
 IDBKeyRange.bound('aaf','abf', true, true)
 PASS keyRange.lower is 'aaf'
 PASS keyRange.upper is 'abf'
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-PASS keyRange.contains('aaf') is false
-PASS keyRange.contains('abf') is false
+PASS keyRange.includes('aaf') is false
+PASS keyRange.includes('abf') is false
 Passing an invalid key into only({})
 Expecting exception from IDBKeyRange.only({})
 PASS Exception was thrown.
@@ -367,12 +367,12 @@ PASS code is 0
 PASS ename is 'DataError'
 Exception message: The data provided does not meet requirements.
 Equal keys, none of the bounds is open, bound(4, 4, false, false)
-Passing an invalid key in to IDBKeyRange.contains({})
-Expecting exception from invalidKeyKeyRange.contains({})
+Passing an invalid key in to IDBKeyRange.includes({})
+Expecting exception from invalidKeyKeyRange.includes({})
 PASS Exception was thrown.
 PASS code is 0
 PASS ename is 'DataError'
-Exception message: Failed to execute 'contains' on 'IDBKeyRange': The passed-in value is not a valid IndexedDB key.
+Exception message: Failed to execute 'includes' on 'IDBKeyRange': The passed-in value is not a valid IndexedDB key.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index eb08279..8505975 100644 (file)
@@ -44,9 +44,9 @@ function checkSingleKeyRange(value)
     shouldBe("keyRange.upper", "" + value);
     shouldBeFalse("keyRange.lowerOpen");
     shouldBeFalse("keyRange.upperOpen");
-    shouldBeFalse("keyRange.contains(" + incrementedKey(value) + ")");
-    shouldBeFalse("keyRange.contains(" + decrementedKey(value) + ")");
-    shouldBeTrue("keyRange.contains(" + value + ")");
+    shouldBeFalse("keyRange.includes(" + incrementedKey(value) + ")");
+    shouldBeFalse("keyRange.includes(" + decrementedKey(value) + ")");
+    shouldBeTrue("keyRange.includes(" + value + ")");
 }
 
 function checkLowerBoundKeyRange(value, open)
@@ -60,12 +60,12 @@ function checkLowerBoundKeyRange(value, open)
     shouldBeTrue("keyRange.upperOpen");
 
     if (open)
-        shouldBeFalse("keyRange.contains(" + value + ")");
+        shouldBeFalse("keyRange.includes(" + value + ")");
     else
-        shouldBeTrue("keyRange.contains(" + value + ")");
+        shouldBeTrue("keyRange.includes(" + value + ")");
 
-    shouldBeTrue("keyRange.contains(" + incrementedKey(value) + ")");
-    shouldBeFalse("keyRange.contains(" + decrementedKey(value) + ")");
+    shouldBeTrue("keyRange.includes(" + incrementedKey(value) + ")");
+    shouldBeFalse("keyRange.includes(" + decrementedKey(value) + ")");
 }
 
 function checkUpperBoundKeyRange(value, open)
@@ -79,12 +79,12 @@ function checkUpperBoundKeyRange(value, open)
     shouldBeTrue("keyRange.lowerOpen");
 
     if (open)
-        shouldBeFalse("keyRange.contains(" + value + ")");
+        shouldBeFalse("keyRange.includes(" + value + ")");
     else
-        shouldBeTrue("keyRange.contains(" + value + ")");
+        shouldBeTrue("keyRange.includes(" + value + ")");
 
-    shouldBeFalse("keyRange.contains(" + incrementedKey(value) + ")");
-    shouldBeTrue("keyRange.contains(" + decrementedKey(value) + ")");
+    shouldBeFalse("keyRange.includes(" + incrementedKey(value) + ")");
+    shouldBeTrue("keyRange.includes(" + decrementedKey(value) + ")");
 }
 
 function checkBoundKeyRange(lower, upper, lowerOpen, upperOpen)
@@ -100,14 +100,14 @@ function checkBoundKeyRange(lower, upper, lowerOpen, upperOpen)
     shouldBe("keyRange.upperOpen", "" + upperOpen);
     
     if (lowerOpen)
-        shouldBeFalse("keyRange.contains(" + lower + ")");
+        shouldBeFalse("keyRange.includes(" + lower + ")");
     else
-        shouldBeTrue("keyRange.contains(" + lower + ")");
+        shouldBeTrue("keyRange.includes(" + lower + ")");
 
     if (upperOpen)
-        shouldBeFalse("keyRange.contains(" + upper + ")");
+        shouldBeFalse("keyRange.includes(" + upper + ")");
     else
-        shouldBeTrue("keyRange.contains(" + upper + ")");
+        shouldBeTrue("keyRange.includes(" + upper + ")");
 }
 
 function test()
@@ -117,7 +117,7 @@ function test()
     shouldBeFalse("'upper' in IDBKeyRange");
     shouldBeFalse("'lowerOpen' in IDBKeyRange");
     shouldBeFalse("'upperOpen' in IDBKeyRange");
-    shouldBeFalse("'contains' in IDBKeyRange");
+    shouldBeFalse("'includes' in IDBKeyRange");
     shouldBeTrue("'only' in IDBKeyRange");
     shouldBeTrue("'lowerBound' in IDBKeyRange");
     shouldBeTrue("'upperBound' in IDBKeyRange");
@@ -130,7 +130,7 @@ function test()
     shouldBeTrue("'upper' in instance");
     shouldBeTrue("'lowerOpen' in instance");
     shouldBeTrue("'upperOpen' in instance");
-    shouldBeTrue("'contains' in instance");
+    shouldBeTrue("'includes' in instance");
     shouldBeFalse("'only' in instance");
     shouldBeFalse("'lowerBound' in instance");
     shouldBeFalse("'upperBound' in instance");
@@ -214,9 +214,9 @@ function test()
     debug("Equal keys, none of the bounds is open, bound(4, 4, false, false)");
     IDBKeyRange.bound(4, 4, false, false);
 
-    debug("Passing an invalid key in to IDBKeyRange.contains({})");
+    debug("Passing an invalid key in to IDBKeyRange.includes({})");
     eval("invalidKeyKeyRange = IDBKeyRange.only('a')");
-    evalAndExpectException("invalidKeyKeyRange.contains({})", "0", "'DataError'");
+    evalAndExpectException("invalidKeyKeyRange.includes({})", "0", "'DataError'");
 }
 
 test();
index e63868e..9932759 100644 (file)
@@ -1,3 +1,18 @@
+2016-11-03  Brady Eidson  <beidson@apple.com>
+
+        IndexedDB 2.0: Rename IDBKeyRange.contains to IDBKeyRange.includes.
+        https://bugs.webkit.org/show_bug.cgi?id=164383
+
+        Reviewed by Beth Dakin.
+
+        No new tests (Updated existing tests).
+
+        * Modules/indexeddb/IDBKeyRange.cpp:
+        (WebCore::IDBKeyRange::includes):
+        (WebCore::IDBKeyRange::contains): Deleted.
+        * Modules/indexeddb/IDBKeyRange.h:
+        * Modules/indexeddb/IDBKeyRange.idl:
+
 2016-11-03  Ryan Haddad  <ryanhaddad@apple.com>
 
         Unreviewed, rolling out r208302.
index 062e977..c6511ac 100644 (file)
@@ -113,11 +113,11 @@ bool IDBKeyRange::isOnlyKey() const
     return m_lower && m_upper && !m_isLowerOpen && !m_isUpperOpen && m_lower->isEqual(*m_upper);
 }
 
-ExceptionOr<bool> IDBKeyRange::contains(JSC::ExecState& state, JSC::JSValue keyValue)
+ExceptionOr<bool> IDBKeyRange::includes(JSC::ExecState& state, JSC::JSValue keyValue)
 {
     auto key = scriptValueToIDBKey(state, keyValue);
     if (!key->isValid())
-        return Exception { IDBDatabaseException::DataError, "Failed to execute 'contains' on 'IDBKeyRange': The passed-in value is not a valid IndexedDB key." };
+        return Exception { IDBDatabaseException::DataError, "Failed to execute 'includes' on 'IDBKeyRange': The passed-in value is not a valid IndexedDB key." };
 
     if (m_lower) {
         int compare = m_lower->compare(key.get());
index 19af084..6822681 100644 (file)
@@ -63,7 +63,7 @@ public:
 
     static ExceptionOr<Ref<IDBKeyRange>> bound(JSC::ExecState&, JSC::JSValue lower, JSC::JSValue upper, bool lowerOpen, bool upperOpen);
 
-    ExceptionOr<bool> contains(JSC::ExecState&, JSC::JSValue key);
+    ExceptionOr<bool> includes(JSC::ExecState&, JSC::JSValue key);
 
     WEBCORE_EXPORT bool isOnlyKey() const;
 
index 13d11c0..77e03b7 100644 (file)
@@ -38,5 +38,5 @@
     [CallWith=ScriptState, MayThrowException] static IDBKeyRange upperBound(any upper, optional boolean open = false);
     [CallWith=ScriptState, MayThrowException] static IDBKeyRange bound(any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false);
 
-    [CallWith=ScriptState, MayThrowException] boolean contains(any key);
+    [CallWith=ScriptState, MayThrowException] boolean includes(any key);
 };