Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/storage/indexeddb/idbcursor-delete-exception-order.html |
| diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/idbcursor-delete-exception-order.html b/third_party/WebKit/LayoutTests/storage/indexeddb/idbcursor-delete-exception-order.html |
| index fc04645f83647e5edba8035f371c1eee5717541a..ac78dd7756b1f91723864b3b71c306148b9d1f52 100644 |
| --- a/third_party/WebKit/LayoutTests/storage/indexeddb/idbcursor-delete-exception-order.html |
| +++ b/third_party/WebKit/LayoutTests/storage/indexeddb/idbcursor-delete-exception-order.html |
| @@ -1,77 +1,77 @@ |
| <!DOCTYPE html> |
| <title>IndexedDB: IDBCursor delete() Exception Ordering</title> |
| +<meta charset=utf-8> |
| <link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbcursor-delete"> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="resources/testharness-helpers.js"></script> |
| - |
| <script> |
| indexeddb_test( |
| - function(t, db) { |
| - var s = db.createObjectStore('s'); |
| - s.put('value', 'key'); |
| - }, |
| - function(t, db) { |
| - var s = db.transaction('s', 'readonly').objectStore('s'); |
| - var r = s.openCursor(); |
| - r.onsuccess = t.step_func(function() { |
| - r.onsuccess = null; |
| - var cursor = r.result; |
| - setTimeout(t.step_func(function() { |
| - assert_throws('TransactionInactiveError', function() { |
| - cursor.delete(); |
| - }, '"Transaction inactive" check (TransactionInactivError) ' + |
| - 'should precede "read only" check (ReadOnlyError)'); |
| - t.done(); |
| - }), 0); |
| - }); |
| - }, |
| - 'IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError' |
| + (t, db) => { |
| + const s = db.createObjectStore('s'); |
| + s.put('value', 'key'); |
| + }, |
| + (t, db) => { |
| + const s = db.transaction('s', 'readonly').objectStore('s'); |
| + const r = s.openCursor(); |
| + r.onsuccess = t.step_func(() => { |
| + r.onsuccess = null; |
| + const cursor = r.result; |
| + setTimeout(t.step_func(() => { |
| + assert_throws('TransactionInactiveError', () => { |
| + cursor.delete(); |
| + }, '"Transaction inactive" check (TransactionInactivError) ' + |
| + 'should precede "read only" check (ReadOnlyError)'); |
| + t.done(); |
| + }), 0); |
| + }); |
| + }, |
| + 'IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError' |
| ); |
| indexeddb_test( |
| - function(t, db) { |
| - var s = db.createObjectStore('s'); |
| - s.put('value', 'key'); |
| - }, |
| - function(t, db) { |
| - var s = db.transaction('s', 'readonly').objectStore('s'); |
| - var r = s.openCursor(); |
| - r.onsuccess = t.step_func(function() { |
| - r.onsuccess = null; |
| - var cursor = r.result; |
| - cursor.continue(); |
| - assert_throws('ReadOnlyError', function() { |
| - cursor.delete(); |
| - }, '"Read only" check (ReadOnlyError) should precede ' + |
| - '"got value flag" (InvalidStateError) check'); |
| - t.done(); |
| - }); |
| - }, |
| - 'IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1' |
| + (t, db) => { |
| + const s = db.createObjectStore('s'); |
| + s.put('value', 'key'); |
| + }, |
| + (t, db) => { |
| + const s = db.transaction('s', 'readonly').objectStore('s'); |
| + const r = s.openCursor(); |
| + r.onsuccess = t.step_func(() => { |
| + r.onsuccess = null; |
| + const cursor = r.result; |
| + cursor.continue(); |
| + assert_throws('ReadOnlyError', () => { |
| + cursor.delete(); |
| + }, '"Read only" check (ReadOnlyError) should precede ' + |
| + '"got value flag" (InvalidStateError) check'); |
| + t.done(); |
| + }); |
| + }, |
| + 'IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1' |
| ); |
| indexeddb_test( |
| - function(t, db) { |
| - var s = db.createObjectStore('s'); |
| - s.put('value', 'key'); |
| - }, |
| - function(t, db) { |
| - var s = db.transaction('s', 'readonly').objectStore('s'); |
| - var r = s.openKeyCursor(); |
| - r.onsuccess = t.step_func(function() { |
| - r.onsuccess = null; |
| - var cursor = r.result; |
| - cursor.continue(); |
| - assert_throws('ReadOnlyError', function() { |
| - cursor.delete(); |
| - }, '"Read only" check (ReadOnlyError) should precede ' + |
| - '"key only flag" (InvalidStateError) check'); |
| - t.done(); |
| - }); |
| - }, |
| - 'IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2' |
| + (t, db) => { |
| + const s = db.createObjectStore('s'); |
| + s.put('value', 'key'); |
| + }, |
| + (t, db) => { |
| + const s = db.transaction('s', 'readonly').objectStore('s'); |
| + const r = s.openKeyCursor(); |
| + r.onsuccess = t.step_func(() => { |
| + r.onsuccess = null; |
| + const cursor = r.result; |
| + cursor.continue(); |
|
pwnall
2016/10/14 07:57:04
I think this continue() call will get you in the I
jsbell
2016/10/17 19:42:03
You're right! Removed.
|
| + assert_throws('ReadOnlyError', () => { |
| + cursor.delete(); |
| + }, '"Read only" check (ReadOnlyError) should precede ' + |
| + '"key only flag" (InvalidStateError) check'); |
| + t.done(); |
| + }); |
| + }, |
| + 'IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2' |
| ); |
| </script> |