Unreviewed, rolling out r118986.
authorrafaelw@chromium.org <rafaelw@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 May 2012 01:21:39 +0000 (01:21 +0000)
committerrafaelw@chromium.org <rafaelw@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 May 2012 01:21:39 +0000 (01:21 +0000)
http://trac.webkit.org/changeset/118986
https://bugs.webkit.org/show_bug.cgi?id=87914

Caused several IndexedDB browser_test failures on Chromium
canary builders (Requested by rafaelw_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-30

Source/WebCore:

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::advance):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::setVersion):
* Modules/indexeddb/IDBDatabaseError.h:
(WebCore::IDBDatabaseError::create):
(IDBDatabaseError):
(WebCore::IDBDatabaseError::createWithoutOffset):
(WebCore::IDBDatabaseError::code):
(WebCore::IDBDatabaseError::setCode):
(WebCore::IDBDatabaseError::setMessage):
(WebCore::IDBDatabaseError::IDBDatabaseError):
* Modules/indexeddb/IDBDatabaseException.cpp:
(WebCore):
(WebCore::IDBDatabaseException::initializeDescription):
* Modules/indexeddb/IDBDatabaseException.h:
(IDBDatabaseException):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):
(WebCore::IDBRequest::dispatchEvent):
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.cpp:
* Modules/indexeddb/IDBTransaction.h:
(IDBTransaction):
* Modules/indexeddb/IDBTransaction.idl:

Source/WebKit/chromium:

* src/WebIDBDatabaseError.cpp:
(WebKit::WebIDBDatabaseError::assign):

LayoutTests:

* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-unique-expected.txt:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/key-generator-expected.txt:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/readonly-expected.txt:
* storage/indexeddb/resources/basics.js:
(test):
(openCallback):
* storage/indexeddb/resources/create-and-remove-object-store.js:
(testCreateAndRemove):
(cleanDatabase):
(tryOnceMore):
* storage/indexeddb/resources/cursor-continue.js:
(ascendingErrorTestLessThan.request.onsuccess):
(ascendingErrorTestLessThan):
(ascendingErrorTestEqual.request.onsuccess):
(ascendingErrorTestEqual):
(descendingErrorTestGreaterThan.request.onsuccess):
(descendingErrorTestGreaterThan):
(descendingErrorTestEqual.request.onsuccess):
(descendingErrorTestEqual):
(onTransactionComplete):
* storage/indexeddb/resources/cursor-update.js:
(keyCursor):
* storage/indexeddb/resources/database-basics.js:
(testClose):
* storage/indexeddb/resources/database-quota.js:
(logError):
* storage/indexeddb/resources/deleteIndex.js:
(twiddleIndexes):
(postTwiddling):
* storage/indexeddb/resources/factory-cmp.js:
(testValidKeys):
(testInvalidKeys):
* storage/indexeddb/resources/get-keyrange.js:
(getNullTest):
* storage/indexeddb/resources/index-basics.js:
(index3Count):
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-unique.js:
(addMoreDataFailed):
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-type-array.js:
(testDepthLimits):
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keyrange.js:
(test):
* storage/indexeddb/resources/objectstore-autoincrement.js:
(getAbrahamSuccess):
* storage/indexeddb/resources/objectstore-basics.js:
(setVersionSuccess):
(createIndex):
(addAgainFailure):
(removeSuccessButNotThere):
(testPreConditions.request.onsuccess):
(testPreConditions):
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/open-cursor.js:
(cursorWithKeySuccess):
(cursorSuccess):
* storage/indexeddb/resources/readonly.js:
(openSuccess):
* storage/indexeddb/resources/set_version_queue.js:
(connectionError):
* storage/indexeddb/resources/shared.js:
(unexpectedErrorCallback):
(evalAndExpectException):
* storage/indexeddb/resources/transaction-abort-workers.js:
(transactionAborted):
(transactionCompleted):
(timeoutTest.transaction.onabort):
(timeoutTest):
(errorTransactionAborted):
* storage/indexeddb/resources/transaction-abort.js:
(firstAdd):
(secondAdd):
(transactionAborted):
* storage/indexeddb/resources/transaction-after-close.js:
(firstTransactionComplete):
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
(created):
(afterComplete):
* storage/indexeddb/resources/transaction-basics.js:
(testInactiveAbortedTransaction):
(testInactiveCompletedTransaction):
(testInvalidMode):
* storage/indexeddb/resources/transaction-read-only.js:
(setVersionDone):
(gotCursor):
* storage/indexeddb/set_version_queue-expected.txt:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort-workers-expected.txt:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-read-only-expected.txt:

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

77 files changed:
LayoutTests/ChangeLog
LayoutTests/storage/indexeddb/basics-expected.txt
LayoutTests/storage/indexeddb/basics-workers-expected.txt
LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt
LayoutTests/storage/indexeddb/cursor-continue-expected.txt
LayoutTests/storage/indexeddb/cursor-update-expected.txt
LayoutTests/storage/indexeddb/database-basics-expected.txt
LayoutTests/storage/indexeddb/deleteIndex-expected.txt
LayoutTests/storage/indexeddb/factory-cmp-expected.txt
LayoutTests/storage/indexeddb/get-keyrange-expected.txt
LayoutTests/storage/indexeddb/index-basics-expected.txt
LayoutTests/storage/indexeddb/index-basics-workers-expected.txt
LayoutTests/storage/indexeddb/index-count-expected.txt
LayoutTests/storage/indexeddb/index-unique-expected.txt
LayoutTests/storage/indexeddb/invalid-keys-expected.txt
LayoutTests/storage/indexeddb/key-generator-expected.txt
LayoutTests/storage/indexeddb/key-type-array-expected.txt
LayoutTests/storage/indexeddb/keypath-edges-expected.txt
LayoutTests/storage/indexeddb/keyrange-expected.txt
LayoutTests/storage/indexeddb/objectstore-autoincrement-expected.txt
LayoutTests/storage/indexeddb/objectstore-basics-expected.txt
LayoutTests/storage/indexeddb/objectstore-basics-workers-expected.txt
LayoutTests/storage/indexeddb/objectstore-count-expected.txt
LayoutTests/storage/indexeddb/open-cursor-expected.txt
LayoutTests/storage/indexeddb/readonly-expected.txt
LayoutTests/storage/indexeddb/resources/basics.js
LayoutTests/storage/indexeddb/resources/create-and-remove-object-store.js
LayoutTests/storage/indexeddb/resources/cursor-continue.js
LayoutTests/storage/indexeddb/resources/cursor-update.js
LayoutTests/storage/indexeddb/resources/database-basics.js
LayoutTests/storage/indexeddb/resources/database-quota.js
LayoutTests/storage/indexeddb/resources/deleteIndex.js
LayoutTests/storage/indexeddb/resources/factory-cmp.js
LayoutTests/storage/indexeddb/resources/get-keyrange.js
LayoutTests/storage/indexeddb/resources/index-basics.js
LayoutTests/storage/indexeddb/resources/index-count.js
LayoutTests/storage/indexeddb/resources/index-unique.js
LayoutTests/storage/indexeddb/resources/invalid-keys.js
LayoutTests/storage/indexeddb/resources/key-generator.js
LayoutTests/storage/indexeddb/resources/key-type-array.js
LayoutTests/storage/indexeddb/resources/keypath-edges.js
LayoutTests/storage/indexeddb/resources/keyrange.js
LayoutTests/storage/indexeddb/resources/objectstore-autoincrement.js
LayoutTests/storage/indexeddb/resources/objectstore-basics.js
LayoutTests/storage/indexeddb/resources/objectstore-count.js
LayoutTests/storage/indexeddb/resources/open-cursor.js
LayoutTests/storage/indexeddb/resources/readonly.js
LayoutTests/storage/indexeddb/resources/set_version_queue.js
LayoutTests/storage/indexeddb/resources/shared.js
LayoutTests/storage/indexeddb/resources/transaction-abort-workers.js
LayoutTests/storage/indexeddb/resources/transaction-abort.js
LayoutTests/storage/indexeddb/resources/transaction-after-close.js
LayoutTests/storage/indexeddb/resources/transaction-and-objectstore-calls.js
LayoutTests/storage/indexeddb/resources/transaction-basics.js
LayoutTests/storage/indexeddb/resources/transaction-read-only.js
LayoutTests/storage/indexeddb/set_version_queue-expected.txt
LayoutTests/storage/indexeddb/transaction-abort-expected.txt
LayoutTests/storage/indexeddb/transaction-abort-workers-expected.txt
LayoutTests/storage/indexeddb/transaction-after-close-expected.txt
LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt
LayoutTests/storage/indexeddb/transaction-basics-expected.txt
LayoutTests/storage/indexeddb/transaction-read-only-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBCursor.cpp
Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp
Source/WebCore/Modules/indexeddb/IDBDatabaseError.h
Source/WebCore/Modules/indexeddb/IDBDatabaseException.cpp
Source/WebCore/Modules/indexeddb/IDBDatabaseException.h
Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp
Source/WebCore/Modules/indexeddb/IDBRequest.cpp
Source/WebCore/Modules/indexeddb/IDBRequest.h
Source/WebCore/Modules/indexeddb/IDBRequest.idl
Source/WebCore/Modules/indexeddb/IDBTransaction.cpp
Source/WebCore/Modules/indexeddb/IDBTransaction.h
Source/WebCore/Modules/indexeddb/IDBTransaction.idl
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/WebIDBDatabaseError.cpp

index 301d196..eed54bc 100644 (file)
@@ -1,3 +1,129 @@
+2012-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r118986.
+        http://trac.webkit.org/changeset/118986
+        https://bugs.webkit.org/show_bug.cgi?id=87914
+
+        Caused several IndexedDB browser_test failures on Chromium
+        canary builders (Requested by rafaelw_ on #webkit).
+
+        * storage/indexeddb/basics-expected.txt:
+        * storage/indexeddb/basics-workers-expected.txt:
+        * storage/indexeddb/create-and-remove-object-store-expected.txt:
+        * storage/indexeddb/cursor-continue-expected.txt:
+        * storage/indexeddb/cursor-update-expected.txt:
+        * storage/indexeddb/database-basics-expected.txt:
+        * storage/indexeddb/deleteIndex-expected.txt:
+        * storage/indexeddb/factory-cmp-expected.txt:
+        * storage/indexeddb/get-keyrange-expected.txt:
+        * storage/indexeddb/index-basics-expected.txt:
+        * storage/indexeddb/index-basics-workers-expected.txt:
+        * storage/indexeddb/index-count-expected.txt:
+        * storage/indexeddb/index-unique-expected.txt:
+        * storage/indexeddb/invalid-keys-expected.txt:
+        * storage/indexeddb/key-generator-expected.txt:
+        * storage/indexeddb/key-type-array-expected.txt:
+        * storage/indexeddb/keypath-edges-expected.txt:
+        * storage/indexeddb/keyrange-expected.txt:
+        * storage/indexeddb/objectstore-autoincrement-expected.txt:
+        * storage/indexeddb/objectstore-basics-expected.txt:
+        * storage/indexeddb/objectstore-basics-workers-expected.txt:
+        * storage/indexeddb/objectstore-count-expected.txt:
+        * storage/indexeddb/open-cursor-expected.txt:
+        * storage/indexeddb/readonly-expected.txt:
+        * storage/indexeddb/resources/basics.js:
+        (test):
+        (openCallback):
+        * storage/indexeddb/resources/create-and-remove-object-store.js:
+        (testCreateAndRemove):
+        (cleanDatabase):
+        (tryOnceMore):
+        * storage/indexeddb/resources/cursor-continue.js:
+        (ascendingErrorTestLessThan.request.onsuccess):
+        (ascendingErrorTestLessThan):
+        (ascendingErrorTestEqual.request.onsuccess):
+        (ascendingErrorTestEqual):
+        (descendingErrorTestGreaterThan.request.onsuccess):
+        (descendingErrorTestGreaterThan):
+        (descendingErrorTestEqual.request.onsuccess):
+        (descendingErrorTestEqual):
+        (onTransactionComplete):
+        * storage/indexeddb/resources/cursor-update.js:
+        (keyCursor):
+        * storage/indexeddb/resources/database-basics.js:
+        (testClose):
+        * storage/indexeddb/resources/database-quota.js:
+        (logError):
+        * storage/indexeddb/resources/deleteIndex.js:
+        (twiddleIndexes):
+        (postTwiddling):
+        * storage/indexeddb/resources/factory-cmp.js:
+        (testValidKeys):
+        (testInvalidKeys):
+        * storage/indexeddb/resources/get-keyrange.js:
+        (getNullTest):
+        * storage/indexeddb/resources/index-basics.js:
+        (index3Count):
+        * storage/indexeddb/resources/index-count.js:
+        * storage/indexeddb/resources/index-unique.js:
+        (addMoreDataFailed):
+        * storage/indexeddb/resources/invalid-keys.js:
+        * storage/indexeddb/resources/key-generator.js:
+        * storage/indexeddb/resources/key-type-array.js:
+        (testDepthLimits):
+        * storage/indexeddb/resources/keypath-edges.js:
+        * storage/indexeddb/resources/keyrange.js:
+        (test):
+        * storage/indexeddb/resources/objectstore-autoincrement.js:
+        (getAbrahamSuccess):
+        * storage/indexeddb/resources/objectstore-basics.js:
+        (setVersionSuccess):
+        (createIndex):
+        (addAgainFailure):
+        (removeSuccessButNotThere):
+        (testPreConditions.request.onsuccess):
+        (testPreConditions):
+        * storage/indexeddb/resources/objectstore-count.js:
+        * storage/indexeddb/resources/open-cursor.js:
+        (cursorWithKeySuccess):
+        (cursorSuccess):
+        * storage/indexeddb/resources/readonly.js:
+        (openSuccess):
+        * storage/indexeddb/resources/set_version_queue.js:
+        (connectionError):
+        * storage/indexeddb/resources/shared.js:
+        (unexpectedErrorCallback):
+        (evalAndExpectException):
+        * storage/indexeddb/resources/transaction-abort-workers.js:
+        (transactionAborted):
+        (transactionCompleted):
+        (timeoutTest.transaction.onabort):
+        (timeoutTest):
+        (errorTransactionAborted):
+        * storage/indexeddb/resources/transaction-abort.js:
+        (firstAdd):
+        (secondAdd):
+        (transactionAborted):
+        * storage/indexeddb/resources/transaction-after-close.js:
+        (firstTransactionComplete):
+        * storage/indexeddb/resources/transaction-and-objectstore-calls.js:
+        (created):
+        (afterComplete):
+        * storage/indexeddb/resources/transaction-basics.js:
+        (testInactiveAbortedTransaction):
+        (testInactiveCompletedTransaction):
+        (testInvalidMode):
+        * storage/indexeddb/resources/transaction-read-only.js:
+        (setVersionDone):
+        (gotCursor):
+        * storage/indexeddb/set_version_queue-expected.txt:
+        * storage/indexeddb/transaction-abort-expected.txt:
+        * storage/indexeddb/transaction-abort-workers-expected.txt:
+        * storage/indexeddb/transaction-after-close-expected.txt:
+        * storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
+        * storage/indexeddb/transaction-basics-expected.txt:
+        * storage/indexeddb/transaction-read-only-expected.txt:
+
 2012-05-30  Dominic Mazzoni  <dmazzoni@google.com>
 
         AX: Chromium WebAccessibilityObject should check if an AccessibilityObject is detached
index 18e9064..78704b6 100644 (file)
@@ -10,21 +10,14 @@ PASS 'result' in request is true
 Expecting exception from request.result
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 PASS 'errorCode' in request is true
 Expecting exception from request.errorCode
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 PASS 'webkitErrorMessage' in request is true
 Expecting exception from request.webkitErrorMessage
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
-Expecting exception from request.error
-PASS Exception was thrown.
-PASS code is DOMException.INVALID_STATE_ERR
-PASS name is 'InvalidStateError'
 PASS 'source' in request is true
 PASS request.source is indexedDB
 PASS 'transaction' in request is true
@@ -41,8 +34,6 @@ PASS 'errorCode' in event.target is true
 PASS event.target.errorCode is 0
 PASS 'webkitErrorMessage' in event.target is true
 PASS event.target.webkitErrorMessage is undefined.
-PASS 'error' in event.target is true
-PASS event.target.error is null
 PASS 'source' in event.target is true
 PASS request.source is indexedDB
 PASS 'transaction' in event.target is true
index cedb510..be0c021 100644 (file)
@@ -11,21 +11,14 @@ PASS [Worker] 'result' in request is true
 [Worker] Expecting exception from request.result
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS [Worker] name is 'NotAllowedError'
 PASS [Worker] 'errorCode' in request is true
 [Worker] Expecting exception from request.errorCode
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS [Worker] name is 'NotAllowedError'
 PASS [Worker] 'webkitErrorMessage' in request is true
 [Worker] Expecting exception from request.webkitErrorMessage
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS [Worker] name is 'NotAllowedError'
-[Worker] Expecting exception from request.error
-PASS [Worker] Exception was thrown.
-PASS [Worker] code is DOMException.INVALID_STATE_ERR
-PASS [Worker] name is 'InvalidStateError'
 PASS [Worker] 'source' in request is true
 PASS [Worker] request.source is indexedDB
 PASS [Worker] 'transaction' in request is true
@@ -42,8 +35,6 @@ PASS [Worker] 'errorCode' in event.target is true
 PASS [Worker] event.target.errorCode is 0
 PASS [Worker] 'webkitErrorMessage' in event.target is true
 PASS [Worker] event.target.webkitErrorMessage is undefined.
-PASS [Worker] 'error' in event.target is true
-PASS [Worker] event.target.error is null
 PASS [Worker] 'source' in event.target is true
 PASS [Worker] request.source is indexedDB
 PASS [Worker] 'transaction' in event.target is true
index a4fba65..d66d98d 100644 (file)
@@ -12,29 +12,24 @@ Trying create
 Expecting exception from db.createObjectStore("some os")
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Trying remove
 Expecting exception from db.deleteObjectStore("some os")
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 result = db.setVersion('version 1')
 Trying create
 Expecting exception from db.createObjectStore("some os")
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Trying remove
 Expecting exception from db.deleteObjectStore("some os")
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Deleted all object stores.
 db.createObjectStore('tmp')
 Expecting exception from db.createObjectStore('tmp')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.CONSTRAINT_ERR
-PASS name is 'ConstraintError'
 trans = db.transaction(['tmp'])
 trans.objectStore('tmp').get(0)
 PASS event.target.result is undefined.
@@ -42,22 +37,18 @@ Trying create
 Expecting exception from db.createObjectStore("some os")
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Trying remove
 Expecting exception from db.deleteObjectStore("some os")
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Trying create with store that already exists
 Expecting exception from db.createObjectStore('tmp')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Trying remove with store that already exists
 Expecting exception from db.deleteObjectStore('tmp')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d386764..12caa6a 100644 (file)
@@ -83,7 +83,6 @@ PASS event.target.result.primaryKey is 3
 Expecting exception from event.target.result.continue(1)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 indexObject.openKeyCursor(null, 'next')
 PASS event.target.result.primaryKey is 0
@@ -92,7 +91,6 @@ PASS event.target.result.primaryKey is 3
 Expecting exception from event.target.result.continue(3.14159)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 indexObject.openKeyCursor(null, 'prev')
 PASS event.target.result.primaryKey is 17
@@ -101,7 +99,6 @@ PASS event.target.result.primaryKey is 15
 Expecting exception from event.target.result.continue('A bit3')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 indexObject.openKeyCursor(null, 'prev')
 PASS event.target.result.primaryKey is 17
@@ -111,11 +108,9 @@ cursor = event.target.result
 Expecting exception from event.target.result.continue('A bit2')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from cursor.continue()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 95d553b..ffb5636 100644 (file)
@@ -109,28 +109,24 @@ keyPathUpdateCursor()
 Expecting exception from event.target.result.update({id: 100 + counter, number: 100 + counter})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 event.target.result.update({id: counter, number: 100 + counter++})
 event.target.source.continue()
 keyPathUpdateCursor()
 Expecting exception from event.target.result.update({id: 100 + counter, number: 100 + counter})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 event.target.result.update({id: counter, number: 100 + counter++})
 event.target.source.continue()
 keyPathUpdateCursor()
 Expecting exception from event.target.result.update({id: 100 + counter, number: 100 + counter})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 event.target.result.update({id: counter, number: 100 + counter++})
 event.target.source.continue()
 keyPathUpdateCursor()
 Expecting exception from event.target.result.update({id: 100 + counter, number: 100 + counter})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 event.target.result.update({id: counter, number: 100 + counter++})
 event.target.source.continue()
 keyPathUpdateCursor()
@@ -165,28 +161,24 @@ PASS event.target.result.primaryKey is counter
 Expecting exception from event.target.result.update({id: counter, number: counter + 200})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 keyCursor()
 PASS event.target.result.key is counter + 100
 PASS event.target.result.primaryKey is counter
 Expecting exception from event.target.result.update({id: counter, number: counter + 200})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 keyCursor()
 PASS event.target.result.key is counter + 100
 PASS event.target.result.primaryKey is counter
 Expecting exception from event.target.result.update({id: counter, number: counter + 200})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 keyCursor()
 PASS event.target.result.key is counter + 100
 PASS event.target.result.primaryKey is counter
 Expecting exception from event.target.result.update({id: counter, number: counter + 200})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 keyCursor()
 PASS counter is 5
 transactionComplete()
index c763d15..434e375 100644 (file)
@@ -50,7 +50,6 @@ Now that the connection is closed, transaction creation should fail
 Expecting exception from db.transaction('test123')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Call twice, make sure it's harmless
 db.close()
 PASS successfullyParsed is true
index f610811..ae8064c 100644 (file)
@@ -13,25 +13,21 @@ Deleted all object stores.
 objectStore = db.createObjectStore('foo');
 Expecting exception from objectStore.deleteIndex('first')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 PASS objectStore.deleteIndex() threw exception TypeError: Not enough arguments.
 index = objectStore.createIndex('first', 'first');
 Expecting exception from objectStore.deleteIndex('FIRST')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 index = objectStore.createIndex('second', 'second');
 returnValue = objectStore.deleteIndex('first');
 PASS returnValue is undefined
 Expecting exception from db.createObjectStore('bar');
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Expecting exception from objectStore.deleteIndex('second')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 67010b4..761801e 100644 (file)
@@ -209,267 +209,201 @@ compare invalid keys
 Expecting exception from indexedDB.cmp(void 0, true)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(true, void 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(void 0, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', void 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(true, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', true)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(true, false)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(false, true)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(true, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', true)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(false, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', false)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(false, NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(NaN, false)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(false, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', false)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(NaN, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(NaN, new Date(NaN))
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(new Date(NaN), NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(NaN, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(new Date(NaN), 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', new Date(NaN))
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(new Date(NaN), null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(null, new Date(NaN))
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(new Date(NaN), 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', new Date(NaN))
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(null, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(null, {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp({}, null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(null, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp({}, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp({}, function () {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(function () {}, {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp({}, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(function () {}, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', function () {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(function () {}, /regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(/regex/, function () {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(function () {}, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', function () {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(/regex/, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', /regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(/regex/, self)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self, /regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(/regex/, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', /regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', self)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self, self.document)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self.document, self)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', self)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self.document, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', self.document)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self.document, self.document.body)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self.document.body, self.document)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self.document, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', self.document)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp(self.document.body, 'valid')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from indexedDB.cmp('valid', self.document.body)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 compare identical keys
 PASS indexedDB.cmp(0, -0) is 0
index 4b1fa91..3dc1fe0 100644 (file)
@@ -43,7 +43,6 @@ PASS result is undefined
 Expecting exception from objectStore.get(null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 runIndexStoreTests()
 index.get(IDBKeyRange.only(3))
 PASS result.x is 3
@@ -64,7 +63,6 @@ PASS result is undefined
 Expecting exception from index.get(null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 runIndexKeyTests()
 index.getKey(IDBKeyRange.only(3))
 PASS result is 3
@@ -85,7 +83,6 @@ PASS result is undefined
 Expecting exception from index.getKey(null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 finishJSTest()
 PASS successfullyParsed is true
 
index 93a62a0..b733315 100644 (file)
@@ -119,12 +119,10 @@ Passing an invalid key into indexObject.get({}).
 Expecting exception from indexObject.get({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into indexObject.getKey({}).
 Expecting exception from indexObject.getKey({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 4fc33b7..e7506be 100644 (file)
@@ -120,12 +120,10 @@ PASS [Worker] event.target.result is 2
 [Worker] Expecting exception from indexObject.get({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] Passing an invalid key into indexObject.getKey({}).
 [Worker] Expecting exception from indexObject.getKey({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 06bffb6..6e2707d 100644 (file)
@@ -92,15 +92,12 @@ PASS index is non-null.
 Expecting exception from index.count(NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from index.count({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from index.count(/regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 test = {"key":0,"expected":1}
 request = index.count(test.key)
index fb107fa..d33afa5 100644 (file)
@@ -22,7 +22,6 @@ transaction.objectStore('store').put({x: 1}, 'bar')
 addMoreDataFailed():
 event.preventDefault()
 PASS event.target.errorCode is IDBDatabaseException.CONSTRAINT_ERR
-PASS event.target.error.name is 'ConstraintError'
 transaction.objectStore('store').put({x: 0}, 'foo')
 changeDataSuccess():
 transaction.objectStore('store').index('index').openCursor(IDBKeyRange.lowerBound(1))
index 126d54a..5b156a0 100644 (file)
@@ -13,67 +13,51 @@ db.createObjectStore('foo');
 Expecting exception from request = objectStore.put('value', void 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', (function() { return arguments; }()))
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', true)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', false)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', new Error)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', function () {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', JSON)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', Math)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', new Date(NaN))
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', /regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', self)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', self.document)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from request = objectStore.put('value', self.document.body)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 6531e11..2df54ff 100644 (file)
@@ -162,7 +162,6 @@ PASS Got "a" for key: 1
 PASS Got "b" for key: 9007199254740992
 Error event fired auto-incrementing past 2^53 (as expected)
 PASS event.target.errorCode is IDBDatabaseException.DATA_ERR
-PASS event.target.error.name is 'DataError'
 event.preventDefault()
 PASS Got "d" for key: 2
 db.close()
index a748cb0..9b094f4 100644 (file)
@@ -176,104 +176,87 @@ testing invalid array key: [ void 0 ]
 Expecting exception from store.put('value', [ void 0 ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ true ]
 Expecting exception from store.put('value', [ true ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ false ]
 Expecting exception from store.put('value', [ false ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ NaN ]
 Expecting exception from store.put('value', [ NaN ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ null ]
 Expecting exception from store.put('value', [ null ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ {} ]
 Expecting exception from store.put('value', [ {} ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ function () {} ]
 Expecting exception from store.put('value', [ function () {} ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ /regex/ ]
 Expecting exception from store.put('value', [ /regex/ ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ self ]
 Expecting exception from store.put('value', [ self ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ self.document ]
 Expecting exception from store.put('value', [ self.document ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: [ self.document.body ]
 Expecting exception from store.put('value', [ self.document.body ]);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: cyclic_array
 Expecting exception from store.put('value', cyclic_array);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: cyclic_array2
 Expecting exception from store.put('value', cyclic_array2);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: cyclic_array3
 Expecting exception from store.put('value', cyclic_array3);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: cyclic_array4
 Expecting exception from store.put('value', cyclic_array4);
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testing invalid array key: Array(1000)
 Expecting exception from store.put('value', Array(1000));
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 PASS indexedDB.cmp(makeArrayOfDepth(25), 0) is 1
 PASS indexedDB.cmp(makeArrayOfDepth(250), 0) is 1
 Expecting exception from indexedDB.cmp(makeArrayOfDepth(2500), 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 PASS successfullyParsed is true
 
index 108c93e..842ba6e 100644 (file)
@@ -22,19 +22,16 @@ Key path doesn't resolve to a value; should yield null, should throw DATA_ERR
 Expecting exception from store.put(null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Key path doesn't resolve to a value; should yield null, should throw DATA_ERR
 Expecting exception from store.put({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Key path resolves to a value that is invalid key; should yield 'invalid' key, should throw DATA_ERR
 Expecting exception from store.put({foo: null})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Key path resolves to a value that is valid key; should yield 'string' key, should succeed
 store.put({foo: 'zoo'})
@@ -48,13 +45,11 @@ Key path doesn't resolve to a value; should yield null but insertion would fail,
 Expecting exception from store.put(null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Key path doesn't resolve to a value; should yield null but insertion would fail, so put request should raise exception
 Expecting exception from store.put('string')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Key path doesn't resolve to a value; should yield null, key should be generated, put request should succeed
 store.put({})
@@ -64,7 +59,6 @@ Key path resolves to a value that is invalid key; should yield 'invalid' key, sh
 Expecting exception from store.put({foo: null})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Key path resolves to a value that is valid key; should yield 'string' key, should succeed
 store.put({foo: 'zoo'})
index 766c7f0..9c1c7f2 100644 (file)
@@ -213,47 +213,38 @@ Passing an invalid key into only({})
 Expecting exception from IDBKeyRange.only({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into upperBound({})
 Expecting exception from IDBKeyRange.upperBound({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into lowerBound({})
 Expecting exception from IDBKeyRange.lowerBound({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into bound(null, {})
 Expecting exception from IDBKeyRange.bound(null, {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into bound({},null)
 Expecting exception from IDBKeyRange.bound({}, null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into bound({}, {})
 Expecting exception from IDBKeyRange.bound({}, {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Lower key greater than higher key, bound(4, 3)
 Expecting exception from IDBKeyRange.bound(4, 3)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Equal keys, either of the bounds is open, bound(4, 4, true, false)
 Expecting exception from IDBKeyRange.bound(4, 4, true, false)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Equal keys, either of the bounds is open, bound(4, 4, false, true)
 Expecting exception from IDBKeyRange.bound(4, 4, false, true)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Equal keys, either of the bounds is open, bound(4, 4, true, true)
 Expecting exception from IDBKeyRange.bound(4, 4, true, true)
 PASS Exception was thrown.
index f471d1d..0e22f3b 100644 (file)
@@ -62,7 +62,6 @@ Try adding with no key to object store without auto increment.
 Expecting exception from store.add({name: 'Adam'})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 store.add({name: 'Adam'}, 1)
 addAdamSuccess():
 PASS event.target.result is 1
index fd7bf09..35d3de4 100644 (file)
@@ -51,8 +51,7 @@ PASS db.createObjectStore('storeWithKeyGenerator', {autoIncrement: true}).autoIn
 Ask for an index that doesn't exist:
 Expecting exception from store.index('asdf')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 createIndex():
 index = store.createIndex('indexName', 'x', {unique: true})
 PASS index is non-null.
@@ -62,8 +61,7 @@ PASS index is non-null.
 Ask for an index that doesn't exist:
 Expecting exception from store.index('asdf')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 db.setVersion("version fail")
 PASS db.version is "version fail"
 setVersionTrans = event.target.result
@@ -97,7 +95,6 @@ PASS event.target.result is "key"
 event.target.source.add({x: 'foo'}, 'zzz')
 addAgainFailure():
 PASS event.target.errorCode is IDBDatabaseException.CONSTRAINT_ERR
-PASS event.target.error.name is 'ConstraintError'
 event.preventDefault()
 db.transaction(['storeName'], 'readwrite')
 store = transaction.objectStore('storeName')
@@ -105,7 +102,6 @@ store.add({x: 'somevalue'}, 'somekey')
 Expecting exception from store.add({x: 'othervalue'}, null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 db.transaction(['storeName'], 'readwrite')
 store = transaction.objectStore('storeName')
 Ensure invalid key pointed at by index keyPath is ignored
@@ -130,22 +126,18 @@ Passing an invalid key into store.get().
 Expecting exception from store.get({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into store.delete().
 Expecting exception from store.delete({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into store.add().
 Expecting exception from store.add(null, {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Passing an invalid key into store.put().
 Expecting exception from store.put(null, {})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 testPreConditions():
 db.setVersion('precondition version')
@@ -159,44 +151,36 @@ The object store uses in-line keys and the key parameter was provided.
 Expecting exception from storeWithInLineKeys.put({key: 1}, 'key')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The object store uses out-of-line keys and has no key generator and the key parameter was not provided.
 Expecting exception from storeWithOutOfLineKeys.put({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The object store uses in-line keys and the result of evaluating the object store's key path yields a value and that value is not a valid key.
 Expecting exception from storeWithInLineKeys.put({key: null})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The object store uses in-line keys but no key generator and the result of evaluating the object store's key path does not yield a value.
 Expecting exception from storeWithInLineKeys.put({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The key parameter was provided but does not contain a valid key.
 Expecting exception from storeWithOutOfLineKeys.put({}, null)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 IDBObjectStore.add()
 The object store uses in-line keys and the key parameter was provided.
 Expecting exception from storeWithInLineKeys.add({key: 1}, 'key')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The object store uses out-of-line keys and has no key generator and the key parameter was not provided.
 Expecting exception from storeWithOutOfLineKeys.add({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The object store uses in-line keys and the result of evaluating the object store's key path yields a value and that value is not a valid key.
 Expecting exception from storeWithInLineKeys.add({key: null})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 The object store uses in-line keys but no key generator and the result of evaluating the object store's key path does not yield a value.
 Expecting exception from storeWithInLineKeys.add({})
 PASS Exception was thrown.
index ad004be..f31fa8e 100644 (file)
@@ -52,8 +52,7 @@ PASS [Worker] db.createObjectStore('storeWithKeyGenerator', {autoIncrement: true
 [Worker] Ask for an index that doesn't exist:
 [Worker] Expecting exception from store.index('asdf')
 PASS [Worker] Exception was thrown.
-PASS [Worker] code is DOMException.NOT_FOUND_ERR
-PASS [Worker] name is 'NotFoundError'
+PASS [Worker] code is IDBDatabaseException.NOT_FOUND_ERR
 [Worker] createIndex():
 [Worker] index = store.createIndex('indexName', 'x', {unique: true})
 PASS [Worker] index is non-null.
@@ -63,8 +62,7 @@ PASS [Worker] index is non-null.
 [Worker] Ask for an index that doesn't exist:
 [Worker] Expecting exception from store.index('asdf')
 PASS [Worker] Exception was thrown.
-PASS [Worker] code is DOMException.NOT_FOUND_ERR
-PASS [Worker] name is 'NotFoundError'
+PASS [Worker] code is IDBDatabaseException.NOT_FOUND_ERR
 [Worker] db.setVersion("version fail")
 PASS [Worker] db.version is "version fail"
 [Worker] setVersionTrans = event.target.result
@@ -98,7 +96,6 @@ PASS [Worker] event.target.result is "key"
 [Worker] event.target.source.add({x: 'foo'}, 'zzz')
 [Worker] addAgainFailure():
 PASS [Worker] event.target.errorCode is IDBDatabaseException.CONSTRAINT_ERR
-PASS [Worker] event.target.error.name is 'ConstraintError'
 [Worker] event.preventDefault()
 [Worker] db.transaction(['storeName'], 'readwrite')
 [Worker] store = transaction.objectStore('storeName')
@@ -106,7 +103,6 @@ PASS [Worker] event.target.error.name is 'ConstraintError'
 [Worker] Expecting exception from store.add({x: 'othervalue'}, null)
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] db.transaction(['storeName'], 'readwrite')
 [Worker] store = transaction.objectStore('storeName')
 [Worker] Ensure invalid key pointed at by index keyPath is ignored
@@ -131,22 +127,18 @@ PASS [Worker] event.target.result is undefined
 [Worker] Expecting exception from store.get({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] Passing an invalid key into store.delete().
 [Worker] Expecting exception from store.delete({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] Passing an invalid key into store.add().
 [Worker] Expecting exception from store.add(null, {})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] Passing an invalid key into store.put().
 [Worker] Expecting exception from store.put(null, {})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] 
 [Worker] testPreConditions():
 [Worker] db.setVersion('precondition version')
@@ -160,44 +152,36 @@ PASS [Worker] name is 'DataError'
 [Worker] Expecting exception from storeWithInLineKeys.put({key: 1}, 'key')
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The object store uses out-of-line keys and has no key generator and the key parameter was not provided.
 [Worker] Expecting exception from storeWithOutOfLineKeys.put({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The object store uses in-line keys and the result of evaluating the object store's key path yields a value and that value is not a valid key.
 [Worker] Expecting exception from storeWithInLineKeys.put({key: null})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The object store uses in-line keys but no key generator and the result of evaluating the object store's key path does not yield a value.
 [Worker] Expecting exception from storeWithInLineKeys.put({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The key parameter was provided but does not contain a valid key.
 [Worker] Expecting exception from storeWithOutOfLineKeys.put({}, null)
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] 
 [Worker] IDBObjectStore.add()
 [Worker] The object store uses in-line keys and the key parameter was provided.
 [Worker] Expecting exception from storeWithInLineKeys.add({key: 1}, 'key')
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The object store uses out-of-line keys and has no key generator and the key parameter was not provided.
 [Worker] Expecting exception from storeWithOutOfLineKeys.add({})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The object store uses in-line keys and the result of evaluating the object store's key path yields a value and that value is not a valid key.
 [Worker] Expecting exception from storeWithInLineKeys.add({key: null})
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.DATA_ERR
-PASS [Worker] name is 'DataError'
 [Worker] The object store uses in-line keys but no key generator and the result of evaluating the object store's key path does not yield a value.
 [Worker] Expecting exception from storeWithInLineKeys.add({})
 PASS [Worker] Exception was thrown.
index 7a7693d..b3c0271 100644 (file)
@@ -84,15 +84,12 @@ PASS store is non-null.
 Expecting exception from store.count(NaN)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from store.count({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 Expecting exception from store.count(/regex/)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 test = {"key":0,"expected":1}
 request = store.count(test.key)
index 5af39dc..cc88c1b 100644 (file)
@@ -25,7 +25,6 @@ Passing an invalid key into .continue({}).
 Expecting exception from event.target.result.continue({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Opening an empty cursor.
 objectStore.openCursor(keyRange)
@@ -42,7 +41,6 @@ Passing an invalid key into .continue({}).
 Expecting exception from cursor.continue({})
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.DATA_ERR
-PASS name is 'DataError'
 
 Opening an empty cursor.
 objectStore.openCursor("InexistentKey")
index 59e8bcf..63e7889 100644 (file)
@@ -12,9 +12,6 @@ PASS request.result is still [object IDBDatabase]
 trying to set readonly property request.errorCode
 request.errorCode = 666
 PASS request.errorCode is still 0
-trying to set readonly property request.error
-request.error = {}
-PASS request.error is still null
 trying to set readonly property request.source
 request.source = this
 PASS request.source is still [object IDBFactory]
index c17e92a..6d7bdb9 100644 (file)
@@ -10,12 +10,11 @@ function test()
     removeVendorPrefixes();
     request = evalAndLog("indexedDB.open('basics')");
     shouldBeTrue("'result' in request");
-    evalAndExpectException("request.result", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("request.result", "IDBDatabaseException.NOT_ALLOWED_ERR");
     shouldBeTrue("'errorCode' in request");
-    evalAndExpectException("request.errorCode", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("request.errorCode", "IDBDatabaseException.NOT_ALLOWED_ERR");
     shouldBeTrue("'webkitErrorMessage' in request");
-    evalAndExpectException("request.webkitErrorMessage", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
-    evalAndExpectException("request.error", "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
+    evalAndExpectException("request.webkitErrorMessage", "IDBDatabaseException.NOT_ALLOWED_ERR");
     shouldBeTrue("'source' in request");
     shouldBe("request.source", "indexedDB");
     shouldBeTrue("'transaction' in request");
@@ -39,8 +38,6 @@ function openCallback(evt)
     shouldBe("event.target.errorCode", "0");
     shouldBeTrue("'webkitErrorMessage' in event.target");
     shouldBeUndefined("event.target.webkitErrorMessage");
-    shouldBeTrue("'error' in event.target");
-    shouldBeNull("event.target.error");
     shouldBeTrue("'source' in event.target");
     shouldBe("request.source", "indexedDB");
     shouldBeTrue("'transaction' in event.target");
index 51e2a61..6509294 100644 (file)
@@ -27,9 +27,9 @@ function openSuccess()
 function testCreateAndRemove()
 {
     debug("Trying create");
-    evalAndExpectException('db.createObjectStore("some os")', "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException('db.createObjectStore("some os")', "IDBDatabaseException.NOT_ALLOWED_ERR");
     debug("Trying remove");
-    evalAndExpectException('db.deleteObjectStore("some os")', "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException('db.deleteObjectStore("some os")', "IDBDatabaseException.NOT_ALLOWED_ERR");
 }
 
 function cleanDatabase()
@@ -37,7 +37,7 @@ function cleanDatabase()
     deleteAllObjectStores(db);
 
     os = evalAndLog("db.createObjectStore('tmp')");
-    evalAndExpectException("db.createObjectStore('tmp')", "IDBDatabaseException.CONSTRAINT_ERR", "'ConstraintError'");
+    evalAndExpectException("db.createObjectStore('tmp')", "IDBDatabaseException.CONSTRAINT_ERR");
     event.target.result.oncomplete = setVersionComplete;
 }
 
@@ -56,9 +56,9 @@ function tryOnceMore()
     testCreateAndRemove();
 
     debug("Trying create with store that already exists");
-    evalAndExpectException("db.createObjectStore('tmp')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("db.createObjectStore('tmp')", "IDBDatabaseException.NOT_ALLOWED_ERR");
     debug("Trying remove with store that already exists");
-    evalAndExpectException("db.deleteObjectStore('tmp')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("db.deleteObjectStore('tmp')", "IDBDatabaseException.NOT_ALLOWED_ERR");
 
     finishJSTest();
 }
index 5f5ae35..1ff167f 100644 (file)
@@ -184,7 +184,7 @@ function ascendingErrorTestLessThan()
             evalAndLog("event.target.result.continue(3.14159)");
         } else if (self.stage == 1) {
             shouldBe("event.target.result.primaryKey", "3");
-            evalAndExpectException("event.target.result.continue(1)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+            evalAndExpectException("event.target.result.continue(1)", "IDBDatabaseException.DATA_ERR");
             ascendingErrorTestEqual();
             return;
         } else {
@@ -206,7 +206,7 @@ function ascendingErrorTestEqual()
             evalAndLog("event.target.result.continue(3.14159)");
         } else if (self.stage == 1) {
             shouldBe("event.target.result.primaryKey", "3");
-            evalAndExpectException("event.target.result.continue(3.14159)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+            evalAndExpectException("event.target.result.continue(3.14159)", "IDBDatabaseException.DATA_ERR");
             descendingErrorTestGreaterThan();
             return;
         } else {
@@ -228,7 +228,7 @@ function descendingErrorTestGreaterThan()
             evalAndLog("event.target.result.continue('A bit2')");
         } else if (self.stage == 1) {
             shouldBe("event.target.result.primaryKey", "15");
-            evalAndExpectException("event.target.result.continue('A bit3')", "IDBDatabaseException.DATA_ERR", "'DataError'");
+            evalAndExpectException("event.target.result.continue('A bit3')", "IDBDatabaseException.DATA_ERR");
             descendingErrorTestEqual();
             return;
         } else {
@@ -251,7 +251,7 @@ function descendingErrorTestEqual()
         } else if (self.stage == 1) {
             shouldBe("event.target.result.primaryKey", "15");
             evalAndLog("cursor = event.target.result");
-            evalAndExpectException("event.target.result.continue('A bit2')", "IDBDatabaseException.DATA_ERR", "'DataError'");
+            evalAndExpectException("event.target.result.continue('A bit2')", "IDBDatabaseException.DATA_ERR");
             self.trans.oncomplete = onTransactionComplete;
             return;
         } else {
@@ -263,7 +263,7 @@ function descendingErrorTestEqual()
 
 function onTransactionComplete()
 {
-    evalAndExpectException("cursor.continue()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("cursor.continue()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
     finishJSTest();
 }
 
index b3060d4..37d3ac6 100644 (file)
@@ -157,7 +157,7 @@ function keyPathUpdateCursor()
         return;
     }
 
-    evalAndExpectException("event.target.result.update({id: 100 + counter, number: 100 + counter})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("event.target.result.update({id: 100 + counter, number: 100 + counter})", "IDBDatabaseException.DATA_ERR");
 
     request = evalAndLog("event.target.result.update({id: counter, number: 100 + counter++})");
     request.onsuccess = function() { evalAndLog("event.target.source.continue()"); };
@@ -197,7 +197,7 @@ function keyCursor()
     shouldBe("event.target.result.primaryKey", "counter");
 
     evalAndExpectException("event.target.result.update({id: counter, number: counter + 200})",
-                           "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+                           "IDBDatabaseException.NOT_ALLOWED_ERR");
 
     counter++;
     event.target.result.continue();
index ebfad91..fe5ab9e 100644 (file)
@@ -106,7 +106,7 @@ function testClose()
 {
     evalAndLog("db.close()");
     debug("Now that the connection is closed, transaction creation should fail");
-    evalAndExpectException("db.transaction('test123')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("db.transaction('test123')", "IDBDatabaseException.NOT_ALLOWED_ERR");
     debug("Call twice, make sure it's harmless");
     evalAndLog("db.close()");
     finishJSTest();
index 55cd4b4..bd20d15 100644 (file)
@@ -84,7 +84,7 @@ function addData()
 
 function logError()
 {
-    debug("Error function called: (" + event.target.error.name + ") " + event.target.webkitErrorMessage);
+    debug("Error function called: (" + event.target.errorCode + ") " + event.target.webkitErrorMessage);
     evalAndLog("event.preventDefault()");
 }
 
index 244ae56..4cb5bed 100644 (file)
@@ -31,10 +31,10 @@ function twiddleIndexes()
     deleteAllObjectStores(db);
 
     objectStore = evalAndLog("objectStore = db.createObjectStore('foo');");
-    evalAndExpectException("objectStore.deleteIndex('first')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("objectStore.deleteIndex('first')", "IDBDatabaseException.NOT_FOUND_ERR");
     shouldThrow("objectStore.deleteIndex()"); // TypeError: not enough arguments.
     index = evalAndLog("index = objectStore.createIndex('first', 'first');");
-    evalAndExpectException("objectStore.deleteIndex('FIRST')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("objectStore.deleteIndex('FIRST')", "IDBDatabaseException.NOT_FOUND_ERR");
     index = evalAndLog("index = objectStore.createIndex('second', 'second');");
     returnValue = evalAndLog("returnValue = objectStore.deleteIndex('first');");
     shouldBe("returnValue", "undefined");
@@ -42,8 +42,8 @@ function twiddleIndexes()
 
 function postTwiddling()
 {
-    evalAndExpectException("db.createObjectStore('bar');", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
-    evalAndExpectException("objectStore.deleteIndex('second')", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("db.createObjectStore('bar');", "IDBDatabaseException.NOT_ALLOWED_ERR");
+    evalAndExpectException("objectStore.deleteIndex('second')", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
     finishJSTest();
 }
 
index a107104..d17f7c6 100644 (file)
@@ -36,7 +36,7 @@ function testValidKeys()
         "new Date(0)",
         "new Date(1000)",
         "new Date(1317399931023)",
-
+        
         "''",
         "'\x00'",
         "'a'",
@@ -64,7 +64,7 @@ function testValidKeys()
         "[new Date(0)]",
         "[new Date(1000)]",
         "[new Date(1317399931023)]",
-
+        
         "['']",
         "['\x00']",
         "['a']",
@@ -78,7 +78,7 @@ function testValidKeys()
         "['\uFFFD']", // U+FFFD REPLACEMENT CHARACTER
 
         "[[]]",
-
+        
         "[[], []]",
         "[[], [], []]",
 
@@ -121,12 +121,12 @@ function testInvalidKeys()
     for (i = 0; i < invalidKeys.length - 1; i += 1) {
         key1 = invalidKeys[i];
         key2 = invalidKeys[i + 1];
-        evalAndExpectException("indexedDB.cmp(" + key1 + ", " + key2 + ")", "IDBDatabaseException.DATA_ERR", "'DataError'");
-        evalAndExpectException("indexedDB.cmp(" + key2 + ", " + key1 + ")", "IDBDatabaseException.DATA_ERR", "'DataError'");
-        evalAndExpectException("indexedDB.cmp(" + key1 + ", 'valid')", "IDBDatabaseException.DATA_ERR", "'DataError'");
-        evalAndExpectException("indexedDB.cmp('valid', " + key1 + ")", "IDBDatabaseException.DATA_ERR", "'DataError'");
-        evalAndExpectException("indexedDB.cmp(" + key2 + ", 'valid')", "IDBDatabaseException.DATA_ERR", "'DataError'");
-        evalAndExpectException("indexedDB.cmp('valid', " + key2 + ")", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("indexedDB.cmp(" + key1 + ", " + key2 + ")", "IDBDatabaseException.DATA_ERR");
+        evalAndExpectException("indexedDB.cmp(" + key2 + ", " + key1 + ")", "IDBDatabaseException.DATA_ERR");
+        evalAndExpectException("indexedDB.cmp(" + key1 + ", 'valid')", "IDBDatabaseException.DATA_ERR");
+        evalAndExpectException("indexedDB.cmp('valid', " + key1 + ")", "IDBDatabaseException.DATA_ERR");
+        evalAndExpectException("indexedDB.cmp(" + key2 + ", 'valid')", "IDBDatabaseException.DATA_ERR");
+        evalAndExpectException("indexedDB.cmp('valid', " + key2 + ")", "IDBDatabaseException.DATA_ERR");
     }
 }
 
index 810f530..8eec84d 100644 (file)
@@ -175,7 +175,7 @@ function getBadOnlyTest(store, method, resultPath, finish)
 
 function getNullTest(store, method, resultPath, finish)
 {
-    evalAndExpectException(store + "." + method + "(null)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException(store + "." + method + "(null)", "IDBDatabaseException.DATA_ERR");
     evalAndLog(finish);
 }
 
index b18871b..6da2bdf 100644 (file)
@@ -327,10 +327,10 @@ function index3Count(evt)
     shouldBe("event.target.result", "2");
 
     debug("Passing an invalid key into indexObject.get({}).");
-    evalAndExpectException("indexObject.get({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("indexObject.get({})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into indexObject.getKey({}).");
-    evalAndExpectException("indexObject.getKey({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("indexObject.getKey({})", "IDBDatabaseException.DATA_ERR");
 
     finishJSTest();
 }
index 4d4cd40..452c347 100644 (file)
@@ -122,9 +122,9 @@ function verifyCountWithKey()
     store = evalAndLog("index = trans.objectStore('storeName').index('indexName')");
     shouldBeNonNull("index");
 
-    evalAndExpectException("index.count(NaN)", "IDBDatabaseException.DATA_ERR", "'DataError'");
-    evalAndExpectException("index.count({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
-    evalAndExpectException("index.count(/regex/)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("index.count(NaN)", "IDBDatabaseException.DATA_ERR");
+    evalAndExpectException("index.count({})", "IDBDatabaseException.DATA_ERR");
+    evalAndExpectException("index.count(/regex/)", "IDBDatabaseException.DATA_ERR");
 
     var tests = [
         { key: 0, expected: 1 },
index 3a2e361..629e364 100644 (file)
@@ -66,7 +66,6 @@ function addMoreDataFailed()
     evalAndLog("event.preventDefault()");
 
     shouldBe("event.target.errorCode", "IDBDatabaseException.CONSTRAINT_ERR");
-    shouldBe("event.target.error.name", "'ConstraintError'");
 
     // Update the 'foo' entry in object store, changing the value of x.
     request = evalAndLog("transaction.objectStore('store').put({x: 0}, 'foo')");
index d36a098..4ab914f 100644 (file)
@@ -54,9 +54,9 @@ function testInvalidKeys()
     ];
 
     invalidKeys.forEach(function(key) {
-        evalAndExpectException("request = objectStore.put('value', " + key + ")", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("request = objectStore.put('value', " + key + ")", "IDBDatabaseException.DATA_ERR");
     });
-
+    
     finishJSTest();
 }
 
index d9e04b2..73701b2 100644 (file)
@@ -221,7 +221,6 @@ defineTest(
         request.onerror = function () {
             debug("Error event fired auto-incrementing past 2^53 (as expected)");
             shouldBe("event.target.errorCode", "IDBDatabaseException.DATA_ERR");
-            shouldBe("event.target.error.name", "'DataError'");
             evalAndLog("event.preventDefault()");
         };
         evalAndLog("store_t1.put('d', 2)");
index 1416507..f0a4704 100644 (file)
@@ -161,7 +161,7 @@ function testInvalidArrayKeys()
 
     invalidKeys.forEach(function (key) {
         debug("testing invalid array key: " + key);
-        evalAndExpectException("store.put('value', " + key + ");", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("store.put('value', " + key + ");", "IDBDatabaseException.DATA_ERR");
         debug("");
     });
 
@@ -181,7 +181,7 @@ function testDepthLimits()
 {
     shouldBe("indexedDB.cmp(makeArrayOfDepth(25), 0)", "1");
     shouldBe("indexedDB.cmp(makeArrayOfDepth(250), 0)", "1");
-    evalAndExpectException("indexedDB.cmp(makeArrayOfDepth(2500), 0)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("indexedDB.cmp(makeArrayOfDepth(2500), 0)", "IDBDatabaseException.DATA_ERR");
     debug("");
 
     finishJSTest();
index b16803a..4cb42fe 100644 (file)
@@ -44,15 +44,15 @@ function testKeyPaths()
 
     debug("");
     debug("Key path doesn't resolve to a value; should yield null, should throw DATA_ERR");
-    evalAndExpectException("store.put(null)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.put(null)", "IDBDatabaseException.DATA_ERR");
 
     debug("");
     debug("Key path doesn't resolve to a value; should yield null, should throw DATA_ERR");
-    evalAndExpectException("store.put({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.put({})", "IDBDatabaseException.DATA_ERR");
 
     debug("");
     debug("Key path resolves to a value that is invalid key; should yield 'invalid' key, should throw DATA_ERR");
-    evalAndExpectException("store.put({foo: null})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.put({foo: null})", "IDBDatabaseException.DATA_ERR");
 
     debug("");
     debug("Key path resolves to a value that is valid key; should yield 'string' key, should succeed");
@@ -76,11 +76,11 @@ function testKeyPathsAndGenerator()
 
     debug("");
     debug("Key path doesn't resolve to a value; should yield null but insertion would fail, so put request should raise exception");
-    evalAndExpectException("store.put(null)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.put(null)", "IDBDatabaseException.DATA_ERR");
 
     debug("");
     debug("Key path doesn't resolve to a value; should yield null but insertion would fail, so put request should raise exception");
-    evalAndExpectException("store.put('string')", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.put('string')", "IDBDatabaseException.DATA_ERR");
 
     debug("");
     debug("Key path doesn't resolve to a value; should yield null, key should be generated, put request should succeed");
@@ -91,7 +91,7 @@ function testKeyPathsAndGenerator()
 
         debug("");
         debug("Key path resolves to a value that is invalid key; should yield 'invalid' key, should throw DATA_ERR");
-        evalAndExpectException("store.put({foo: null})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("store.put({foo: null})", "IDBDatabaseException.DATA_ERR");
 
         debug("");
         debug("Key path resolves to a value that is valid key; should yield 'string' key, should succeed");
index 9af1ad7..e2e4a8b 100644 (file)
@@ -119,31 +119,31 @@ function test()
     checkBoundKeyRange("'aaf'", "'abf'", true, true);
 
     debug("Passing an invalid key into only({})");
-    evalAndExpectException("IDBKeyRange.only({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.only({})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into upperBound({})");
-    evalAndExpectException("IDBKeyRange.upperBound({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.upperBound({})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into lowerBound({})");
-    evalAndExpectException("IDBKeyRange.lowerBound({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.lowerBound({})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into bound(null, {})");
-    evalAndExpectException("IDBKeyRange.bound(null, {})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.bound(null, {})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into bound({},null)");
-    evalAndExpectException("IDBKeyRange.bound({}, null)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.bound({}, null)", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into bound({}, {})");
-    evalAndExpectException("IDBKeyRange.bound({}, {})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.bound({}, {})", "IDBDatabaseException.DATA_ERR");
 
     debug("Lower key greater than higher key, bound(4, 3)");
-    evalAndExpectException("IDBKeyRange.bound(4, 3)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.bound(4, 3)", "IDBDatabaseException.DATA_ERR");
 
     debug("Equal keys, either of the bounds is open, bound(4, 4, true, false)");
-    evalAndExpectException("IDBKeyRange.bound(4, 4, true, false)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.bound(4, 4, true, false)", "IDBDatabaseException.DATA_ERR");
 
     debug("Equal keys, either of the bounds is open, bound(4, 4, false, true)");
-    evalAndExpectException("IDBKeyRange.bound(4, 4, false, true)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("IDBKeyRange.bound(4, 4, false, true)", "IDBDatabaseException.DATA_ERR");
 
     debug("Equal keys, either of the bounds is open, bound(4, 4, true, true)");
     evalAndExpectException("IDBKeyRange.bound(4, 4, true, true)", "IDBDatabaseException.DATA_ERR");
index 862a055..8a29e93 100644 (file)
@@ -140,7 +140,7 @@ function getAbrahamSuccess()
 
     self.store = evalAndLog("store = trans.objectStore('PlainOldStore')");
     debug("Try adding with no key to object store without auto increment.");
-    evalAndExpectException("store.add({name: 'Adam'})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.add({name: 'Adam'})", "IDBDatabaseException.DATA_ERR");
     request = evalAndLog("store.add({name: 'Adam'}, 1)");
     request.onsuccess = addAdamSuccess;
     request.onerror = unexpectedErrorCallback;
index 5cff429..2028cfa 100644 (file)
@@ -76,7 +76,7 @@ function setVersionSuccess(evt)
     // FIXME: test all of object store's methods.
 
     debug("Ask for an index that doesn't exist:");
-    evalAndExpectException("store.index('asdf')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("store.index('asdf')", "IDBDatabaseException.NOT_FOUND_ERR");
     createIndex();
 }
 
@@ -90,7 +90,7 @@ function createIndex()
     shouldBeNonNull("index");
 
     debug("Ask for an index that doesn't exist:");
-    evalAndExpectException("store.index('asdf')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("store.index('asdf')", "IDBDatabaseException.NOT_FOUND_ERR");
     trans.oncomplete = testSetVersionAbort;
 }
 
@@ -176,7 +176,6 @@ function addAgainFailure(evt)
     event = evt;
     debug("addAgainFailure():");
     shouldBe("event.target.errorCode", "IDBDatabaseException.CONSTRAINT_ERR");
-    shouldBe("event.target.error.name", "'ConstraintError'");
 
     evalAndLog("event.preventDefault()");
 
@@ -185,7 +184,7 @@ function addAgainFailure(evt)
     var store = evalAndLog("store = transaction.objectStore('storeName')");
 
     evalAndLog("store.add({x: 'somevalue'}, 'somekey')");
-    evalAndExpectException("store.add({x: 'othervalue'}, null)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.add({x: 'othervalue'}, null)", "IDBDatabaseException.DATA_ERR");
 
     transaction = evalAndLog("db.transaction(['storeName'], 'readwrite')");
     transaction.onabort = unexpectedErrorCallback;
@@ -245,16 +244,16 @@ function removeSuccessButNotThere(evt)
     var store = evalAndLog("store = event.target.source");
 
     debug("Passing an invalid key into store.get().");
-    evalAndExpectException("store.get({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.get({})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into store.delete().");
-    evalAndExpectException("store.delete({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.delete({})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into store.add().");
-    evalAndExpectException("store.add(null, {})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.add(null, {})", "IDBDatabaseException.DATA_ERR");
 
     debug("Passing an invalid key into store.put().");
-    evalAndExpectException("store.put(null, {})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.put(null, {})", "IDBDatabaseException.DATA_ERR");
 
     testPreConditions();
 }
@@ -274,30 +273,30 @@ function testPreConditions()
         debug("");
         debug("IDBObjectStore.put()");
         debug("The object store uses in-line keys and the key parameter was provided.");
-        evalAndExpectException("storeWithInLineKeys.put({key: 1}, 'key')", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithInLineKeys.put({key: 1}, 'key')", "IDBDatabaseException.DATA_ERR");
 
         debug("The object store uses out-of-line keys and has no key generator and the key parameter was not provided.");
-        evalAndExpectException("storeWithOutOfLineKeys.put({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithOutOfLineKeys.put({})", "IDBDatabaseException.DATA_ERR");
 
         debug("The object store uses in-line keys and the result of evaluating the object store's key path yields a value and that value is not a valid key.");
-        evalAndExpectException("storeWithInLineKeys.put({key: null})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithInLineKeys.put({key: null})", "IDBDatabaseException.DATA_ERR");
 
         debug("The object store uses in-line keys but no key generator and the result of evaluating the object store's key path does not yield a value.");
-        evalAndExpectException("storeWithInLineKeys.put({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithInLineKeys.put({})", "IDBDatabaseException.DATA_ERR");
 
         debug("The key parameter was provided but does not contain a valid key.");
-        evalAndExpectException("storeWithOutOfLineKeys.put({}, null)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithOutOfLineKeys.put({}, null)", "IDBDatabaseException.DATA_ERR");
 
         debug("");
         debug("IDBObjectStore.add()");
         debug("The object store uses in-line keys and the key parameter was provided.");
-        evalAndExpectException("storeWithInLineKeys.add({key: 1}, 'key')", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithInLineKeys.add({key: 1}, 'key')", "IDBDatabaseException.DATA_ERR");
 
         debug("The object store uses out-of-line keys and has no key generator and the key parameter was not provided.");
-        evalAndExpectException("storeWithOutOfLineKeys.add({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithOutOfLineKeys.add({})", "IDBDatabaseException.DATA_ERR");
 
         debug("The object store uses in-line keys and the result of evaluating the object store's key path yields a value and that value is not a valid key.");
-        evalAndExpectException("storeWithInLineKeys.add({key: null})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+        evalAndExpectException("storeWithInLineKeys.add({key: null})", "IDBDatabaseException.DATA_ERR");
 
         debug("The object store uses in-line keys but no key generator and the result of evaluating the object store's key path does not yield a value.");
         evalAndExpectException("storeWithInLineKeys.add({})", "IDBDatabaseException.DATA_ERR");
index 89503f7..e15d892 100644 (file)
@@ -113,9 +113,9 @@ function verifyCountWithKey()
     store = evalAndLog("store = trans.objectStore('storeName')");
     shouldBeNonNull("store");
 
-    evalAndExpectException("store.count(NaN)", "IDBDatabaseException.DATA_ERR", "'DataError'");
-    evalAndExpectException("store.count({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
-    evalAndExpectException("store.count(/regex/)", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("store.count(NaN)", "IDBDatabaseException.DATA_ERR");
+    evalAndExpectException("store.count({})", "IDBDatabaseException.DATA_ERR");
+    evalAndExpectException("store.count(/regex/)", "IDBDatabaseException.DATA_ERR");
 
     var tests = [
         { key: 0, expected: 1 },
index 431c139..bcc2733 100644 (file)
@@ -32,7 +32,7 @@ function cursorWithKeySuccess()
     shouldBeEqualToString("cursor.value", "myValue");
     debug("");
     debug("Passing an invalid key into .continue({}).");
-    evalAndExpectException("cursor.continue({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("cursor.continue({})", "IDBDatabaseException.DATA_ERR");
     debug("");
     openEmptyCursorWithKey();
 }
@@ -72,7 +72,7 @@ function cursorSuccess()
     shouldBeEqualToString("cursor.value", "myValue");
     debug("");
     debug("Passing an invalid key into .continue({}).");
-    evalAndExpectException("event.target.result.continue({})", "IDBDatabaseException.DATA_ERR", "'DataError'");
+    evalAndExpectException("event.target.result.continue({})", "IDBDatabaseException.DATA_ERR");
     debug("");
     openEmptyCursor();
 }
index 982c4e8..f4304c8 100644 (file)
@@ -32,7 +32,6 @@ function openSuccess()
 {
     setReadonlyProperty("request.result", "Infinity");
     setReadonlyProperty("request.errorCode", "666");
-    setReadonlyProperty("request.error", "{}");
     setReadonlyProperty("request.source", "this");
     setReadonlyProperty("request.transaction", "this");
     setReadonlyProperty("request.readyState", "666");
index d25f20e..aaa345d 100644 (file)
@@ -103,10 +103,9 @@ function blocked3(event)
 
 function connectionError(event, connectionId)
 {
-    debug("");
+    debug("")
     testPassed("connection[" + connectionId + "] got error event");
-    shouldBe("event.target.errorCode", "DOMException.ABORT_ERR");
-    shouldBe("event.target.error.name", "'AbortError'");
+    shouldBe("event.target.errorCode", "IDBDatabaseException.ABORT_ERR")
     if ('webkitErrorMessage' in event.target) {
         shouldBe("event.target.webkitErrorMessage.length > 0", "true");
         debug(event.target.webkitErrorMessage);
index b142dc9..39bd4cb 100644 (file)
@@ -49,7 +49,7 @@ function unexpectedSuccessCallback()
 
 function unexpectedErrorCallback(event)
 {
-    testFailed("Error function called unexpectedly: (" + event.target.error.name + ") " + event.target.webkitErrorMessage);
+    testFailed("Error function called unexpectedly: (" + event.target.errorCode + ") " + event.target.webkitErrorMessage);
     finishJSTest();
 }
 
@@ -71,20 +71,16 @@ function unexpectedBlockedCallback()
     finishJSTest();
 }
 
-function evalAndExpectException(cmd, exceptionCode, exceptionName)
+function evalAndExpectException(cmd, expected)
 {
     debug("Expecting exception from " + cmd);
     try {
         eval(cmd);
-        testFailed("No exception thrown! Should have been " + exceptionCode);
+        testFailed("No exception thrown! Should have been " + expected);
     } catch (e) {
         code = e.code;
         testPassed("Exception was thrown.");
-        shouldBe("code", exceptionCode);
-        if (exceptionName) {
-            name = e.name;
-            shouldBe("name", exceptionName);
-        }
+        shouldBe("code", expected);
     }
 }
 
index 1ba0df0..e504895 100644 (file)
@@ -39,7 +39,7 @@ function createTransaction()
 function transactionAborted()
 {
     testPassed("Transaction aborted");
-    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
     recursionTest();
 }
 
@@ -72,7 +72,7 @@ function recurse(count)
 function transactionCompleted()
 {
     testPassed("transaction completed");
-    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
 
     debug("");
     debug("trying a timeout callback:");
@@ -89,7 +89,7 @@ function timeoutTest()
     transaction.oncomplete = unexpectedCompleteCallback;
     transaction.onabort = function () {
         testPassed("transaction started in setTimeout() callback aborted");
-        evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+        evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
 
         errorTest();
     };
@@ -121,7 +121,7 @@ function errorHandler(e)
 function errorTransactionAborted()
 {
     testPassed("Transaction aborted");
-    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
     finishJSTest();
 }
 
index 833e6b8..ff61301 100644 (file)
@@ -58,26 +58,18 @@ function startTest()
 
 function firstAdd()
 {
-    shouldBe("event.target.errorCode", "DOMException.ABORT_ERR");
-    shouldBe("event.target.error.name", "'AbortError'");
-    firstDOMError = event.target.error;
-    // FIXME: Ambiguous spec. See: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17236
-    evalAndExpectException("trans.error", "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
-
+    shouldBe("event.target.errorCode", "IDBDatabaseException.ABORT_ERR");
     shouldBeFalse("firstError");
     shouldBeFalse("secondError");
     shouldBeFalse("abortFired");
     firstError = true;
 
-    evalAndExpectException("store.add({x: 'value4', y: 'zzz4'}, 'key4')", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("store.add({x: 'value4', y: 'zzz4'}, 'key4')", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
 }
 
 function secondAdd()
 {
-    shouldBe("event.target.errorCode", "DOMException.ABORT_ERR");
-    shouldBe("event.target.error.name", "'AbortError'");
-    // FIXME: Ambiguous spec. See: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17236
-    evalAndExpectException("trans.error", "DOMException.INVALID_STATE_ERR", "'InvalidStateError'");
+    shouldBe("event.target.errorCode", "IDBDatabaseException.ABORT_ERR");
     shouldBeTrue("firstError");
     shouldBeFalse("secondError");
     shouldBeFalse("abortFired");
@@ -89,10 +81,9 @@ function transactionAborted()
     shouldBeTrue("firstError");
     shouldBeTrue("secondError");
     shouldBeFalse("abortFired");
-    shouldBe("trans.error", "firstDOMError");
     abortFired = true;
 
-    evalAndExpectException("store.add({x: 'value5', y: 'zzz5'}, 'key5')", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("store.add({x: 'value5', y: 'zzz5'}, 'key5')", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
     finishJSTest();
 }
 
index ac88793..a4859f7 100644 (file)
@@ -54,7 +54,7 @@ function runFirstRegularTransaction()
 function firstTransactionComplete()
 {
     evalAndLog("db.close()");
-    evalAndExpectException("db.transaction(['store'], 'readwrite')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("db.transaction(['store'], 'readwrite')", "IDBDatabaseException.NOT_ALLOWED_ERR");
 
     debug("")
     debug("verify that we can reopen the db after calling close")
index 7bb5ef4..e349143 100644 (file)
@@ -38,49 +38,49 @@ function created()
 {
     trans = evalAndLog("trans = db.transaction(['a'])");
     evalAndLog("trans.objectStore('a')");
-    evalAndExpectException("trans.objectStore('b')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("trans.objectStore('x')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("trans.objectStore('b')", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("trans.objectStore('x')", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     trans = evalAndLog("trans = db.transaction(['a'])");
     evalAndLog("trans.objectStore('a')");
-    evalAndExpectException("trans.objectStore('b')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("trans.objectStore('x')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("trans.objectStore('b')", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("trans.objectStore('x')", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     trans = evalAndLog("trans = db.transaction(['b'])");
     evalAndLog("trans.objectStore('b')");
-    evalAndExpectException("trans.objectStore('a')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("trans.objectStore('x')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("trans.objectStore('a')", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("trans.objectStore('x')", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     trans = evalAndLog("trans = db.transaction(['a', 'b'])");
     evalAndLog("trans.objectStore('a')");
     evalAndLog("trans.objectStore('b')");
-    evalAndExpectException("trans.objectStore('x')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("trans.objectStore('x')", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     trans = evalAndLog("trans = db.transaction(['b', 'a'])");
     evalAndLog("trans.objectStore('a')");
     evalAndLog("trans.objectStore('b')");
-    evalAndExpectException("trans.objectStore('x')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("trans.objectStore('x')", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     debug("Passing a string as the first argument is a shortcut for just one object store:");
     trans = evalAndLog("trans = db.transaction('a')");
     evalAndLog("trans.objectStore('a')");
-    evalAndExpectException("trans.objectStore('b')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("trans.objectStore('x')", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("trans.objectStore('b')", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("trans.objectStore('x')", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     shouldThrow("trans = db.transaction()");
     debug("");
 
-    evalAndExpectException("db.transaction(['x'])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("db.transaction(['x'])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("db.transaction(['a', 'x'])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("db.transaction(['x', 'x'])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("db.transaction(['a', 'x', 'b'])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("db.transaction(['x'])", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("db.transaction(['x'])", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("db.transaction(['a', 'x'])", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("db.transaction(['x', 'x'])", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("db.transaction(['a', 'x', 'b'])", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     debug("Exception thrown when no stores specified:");
@@ -88,16 +88,16 @@ function created()
     debug("");
 
     debug("{} coerces to a string - so no match, but not a type error:");
-    evalAndExpectException("db.transaction({})", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("db.transaction({mode:0})", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("db.transaction({})", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("db.transaction({mode:0})", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     debug("Overriding the default string coercion makes these work:");
     evalAndLog("db.transaction({toString:function(){return 'a';}})");
     evalAndLog("db.transaction([{toString:function(){return 'a';}}])");
     debug("... but you still need to specify a real store:");
-    evalAndExpectException("db.transaction([{toString:function(){return 'x';}}])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
-    evalAndExpectException("db.transaction([{toString:function(){return 'x';}}])", "DOMException.NOT_FOUND_ERR", "'NotFoundError'");
+    evalAndExpectException("db.transaction([{toString:function(){return 'x';}}])", "IDBDatabaseException.NOT_FOUND_ERR");
+    evalAndExpectException("db.transaction([{toString:function(){return 'x';}}])", "IDBDatabaseException.NOT_FOUND_ERR");
     debug("");
 
     trans = evalAndLog("trans = db.transaction(['store'])");
@@ -115,8 +115,8 @@ function afterComplete()
     debug("transaction complete, ensuring methods fail");
     shouldBeNonNull("trans");
     shouldBeNonNull("store");
-    evalAndExpectException("trans.objectStore('store')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
-    evalAndExpectException("store.index('index')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("trans.objectStore('store')", "IDBDatabaseException.NOT_ALLOWED_ERR");
+    evalAndExpectException("store.index('index')", "IDBDatabaseException.NOT_ALLOWED_ERR");
 
     finishJSTest();
 }
index 8fa7016..ce852c9 100644 (file)
@@ -111,18 +111,18 @@ function testInactiveAbortedTransaction()
 {
     debug("");
     debug("testInactiveAbortedTransaction():");
-    evalAndExpectException("index.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.openKeyCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.getKey(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.count()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-
-    evalAndExpectException("store.put(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.add(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.delete(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.clear()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("index.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.openKeyCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.getKey(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.count()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+
+    evalAndExpectException("store.put(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.add(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.delete(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.clear()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
 
     testSetVersionAbort4();
 }
@@ -153,18 +153,18 @@ function testInactiveCompletedTransaction()
 {
     debug("");
     debug("testInactiveCompletedTransaction():");
-    evalAndExpectException("index.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.openKeyCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.getKey(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("index.count()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-
-    evalAndExpectException("store.put(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.add(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.delete(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.clear()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
-    evalAndExpectException("store.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR", "'TransactionInactiveError'");
+    evalAndExpectException("index.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.openKeyCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.getKey(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("index.count()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+
+    evalAndExpectException("store.put(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.add(0, 0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.delete(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.clear()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.get(0)", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
+    evalAndExpectException("store.openCursor()", "IDBDatabaseException.TRANSACTION_INACTIVE_ERR");
 
     testSetVersionAbort5();
 }
@@ -279,7 +279,7 @@ function testInvalidMode()
 {
     debug("");
     debug("Verify that specifying an invalid mode raises an exception");
-    evalAndExpectException("db.transaction(['storeName'], 'lsakjdf')", "IDBDatabaseException.NOT_ALLOWED_ERR", "'NotAllowedError'");
+    evalAndExpectException("db.transaction(['storeName'], 'lsakjdf')", "IDBDatabaseException.NOT_ALLOWED_ERR");
     finishJSTest();
 }
 
index a75a7c0..d943a31 100644 (file)
@@ -36,10 +36,10 @@ function cleanDatabase()
 function setVersionDone()
 {
     trans = evalAndLog("trans = db.transaction('store')");
-    evalAndExpectException("trans.objectStore('store').put('a', 'b')", "IDBDatabaseException.READ_ONLY_ERR", "'ReadOnlyError'");
+    evalAndExpectException("trans.objectStore('store').put('a', 'b')", "IDBDatabaseException.READ_ONLY_ERR");
 
     trans = evalAndLog("trans = db.transaction('store')");
-    evalAndExpectException("trans.objectStore('store').delete('x')", "IDBDatabaseException.READ_ONLY_ERR", "'ReadOnlyError'");
+    evalAndExpectException("trans.objectStore('store').delete('x')", "IDBDatabaseException.READ_ONLY_ERR");
 
     trans = evalAndLog("trans = db.transaction('store')");
     cur = evalAndLog("cur = trans.objectStore('store').openCursor()");
@@ -50,7 +50,7 @@ function setVersionDone()
 function gotCursor()
 {
     shouldBeFalse("!event.target.result");
-    evalAndExpectException("event.target.result.delete()", "IDBDatabaseException.READ_ONLY_ERR", "'ReadOnlyError'");
+    evalAndExpectException("event.target.result.delete()", "IDBDatabaseException.READ_ONLY_ERR");
 
     finishJSTest();
 }
index 74a66ed..cd03f73 100644 (file)
@@ -53,20 +53,17 @@ Note: This means that a connection can receive a blocked event after its close()
 PASS event.version is "version 3"
 
 PASS connection[0] got error event
-PASS event.target.errorCode is DOMException.ABORT_ERR
-PASS event.target.error.name is 'AbortError'
+PASS event.target.errorCode is IDBDatabaseException.ABORT_ERR
 PASS event.target.webkitErrorMessage.length > 0 is true
 Connection was closed before set version transaction was created
 
 PASS connection[2] got error event
-PASS event.target.errorCode is DOMException.ABORT_ERR
-PASS event.target.error.name is 'AbortError'
+PASS event.target.errorCode is IDBDatabaseException.ABORT_ERR
 PASS event.target.webkitErrorMessage.length > 0 is true
 Connection was closed before set version transaction was created
 
 PASS connection[3] got error event
-PASS event.target.errorCode is DOMException.ABORT_ERR
-PASS event.target.error.name is 'AbortError'
+PASS event.target.errorCode is IDBDatabaseException.ABORT_ERR
 PASS event.target.webkitErrorMessage.length > 0 is true
 Connection was closed before set version transaction was created
 
index d9e7ebd..7c2e261 100644 (file)
@@ -21,36 +21,23 @@ trans.oncomplete = unexpectedCompleteCallback
 store = trans.objectStore('storeName')
 store.add({x: 'value2', y: 'zzz2'}, 'key2')
 store.add({x: 'value3', y: 'zzz3'}, 'key3')
-PASS event.target.errorCode is DOMException.ABORT_ERR
-PASS event.target.error.name is 'AbortError'
-Expecting exception from trans.error
-PASS Exception was thrown.
-PASS code is DOMException.INVALID_STATE_ERR
-PASS name is 'InvalidStateError'
+PASS event.target.errorCode is IDBDatabaseException.ABORT_ERR
 PASS firstError is false
 PASS secondError is false
 PASS abortFired is false
 Expecting exception from store.add({x: 'value4', y: 'zzz4'}, 'key4')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
-PASS event.target.errorCode is DOMException.ABORT_ERR
-PASS event.target.error.name is 'AbortError'
-Expecting exception from trans.error
-PASS Exception was thrown.
-PASS code is DOMException.INVALID_STATE_ERR
-PASS name is 'InvalidStateError'
+PASS event.target.errorCode is IDBDatabaseException.ABORT_ERR
 PASS firstError is true
 PASS secondError is false
 PASS abortFired is false
 PASS firstError is true
 PASS secondError is true
 PASS abortFired is false
-PASS trans.error is firstDOMError
 Expecting exception from store.add({x: 'value5', y: 'zzz5'}, 'key5')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 13867be..9765a23 100644 (file)
@@ -20,7 +20,6 @@ PASS [Worker] Transaction aborted
 [Worker] Expecting exception from store.get(0)
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS [Worker] name is 'TransactionInactiveError'
 [Worker] 
 [Worker] recursionTest():
 [Worker] transaction = db.transaction('store')
@@ -49,7 +48,6 @@ PASS [Worker] transaction completed
 [Worker] Expecting exception from store.get(0)
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS [Worker] name is 'TransactionInactiveError'
 [Worker] 
 [Worker] trying a timeout callback:
 [Worker] setTimeout(timeoutTest, 0)
@@ -61,7 +59,6 @@ PASS [Worker] transaction started in setTimeout() callback aborted
 [Worker] Expecting exception from store.get(0)
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS [Worker] name is 'TransactionInactiveError'
 [Worker] 
 [Worker] errorTest():
 [Worker] self.old_onerror = self.onerror
@@ -77,7 +74,6 @@ PASS [Worker] Transaction aborted
 [Worker] Expecting exception from store.get(0)
 PASS [Worker] Exception was thrown.
 PASS [Worker] code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS [Worker] name is 'TransactionInactiveError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 8b0308e..98046b4 100644 (file)
@@ -20,7 +20,6 @@ db.close()
 Expecting exception from db.transaction(['store'], 'readwrite')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 
 verify that we can reopen the db after calling close
 indexedDB.open('transaction-after-close')
index 8bfa9f3..807f0c2 100644 (file)
@@ -19,85 +19,70 @@ trans = db.transaction(['a'])
 trans.objectStore('a')
 Expecting exception from trans.objectStore('b')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from trans.objectStore('x')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 trans = db.transaction(['a'])
 trans.objectStore('a')
 Expecting exception from trans.objectStore('b')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from trans.objectStore('x')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 trans = db.transaction(['b'])
 trans.objectStore('b')
 Expecting exception from trans.objectStore('a')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from trans.objectStore('x')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 trans = db.transaction(['a', 'b'])
 trans.objectStore('a')
 trans.objectStore('b')
 Expecting exception from trans.objectStore('x')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 trans = db.transaction(['b', 'a'])
 trans.objectStore('a')
 trans.objectStore('b')
 Expecting exception from trans.objectStore('x')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 Passing a string as the first argument is a shortcut for just one object store:
 trans = db.transaction('a')
 trans.objectStore('a')
 Expecting exception from trans.objectStore('b')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from trans.objectStore('x')
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 PASS trans = db.transaction() threw exception TypeError: Type error.
 
 Expecting exception from db.transaction(['x'])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from db.transaction(['x'])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from db.transaction(['a', 'x'])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from db.transaction(['x', 'x'])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from db.transaction(['a', 'x', 'b'])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 Exception thrown when no stores specified:
 Expecting exception from db.transaction([])
@@ -107,12 +92,10 @@ PASS code is DOMException.INVALID_ACCESS_ERR
 {} coerces to a string - so no match, but not a type error:
 Expecting exception from db.transaction({})
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from db.transaction({mode:0})
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 Overriding the default string coercion makes these work:
 db.transaction({toString:function(){return 'a';}})
@@ -120,12 +103,10 @@ db.transaction([{toString:function(){return 'a';}}])
 ... but you still need to specify a real store:
 Expecting exception from db.transaction([{toString:function(){return 'x';}}])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 Expecting exception from db.transaction([{toString:function(){return 'x';}}])
 PASS Exception was thrown.
-PASS code is DOMException.NOT_FOUND_ERR
-PASS name is 'NotFoundError'
+PASS code is IDBDatabaseException.NOT_FOUND_ERR
 
 trans = db.transaction(['store'])
 PASS trans is non-null.
@@ -138,11 +119,9 @@ PASS store is non-null.
 Expecting exception from trans.objectStore('store')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 Expecting exception from store.index('index')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 6078d8a..b49beae 100644 (file)
@@ -54,47 +54,36 @@ testInactiveAbortedTransaction():
 Expecting exception from index.openCursor()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.openKeyCursor()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.get(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.getKey(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.count()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.put(0, 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.add(0, 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.delete(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.clear()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.get(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.openCursor()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 
 testSetVersionAbort4():
 PASS self.db.objectStoreNames is []
@@ -111,47 +100,36 @@ testInactiveCompletedTransaction():
 Expecting exception from index.openCursor()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.openKeyCursor()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.get(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.getKey(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from index.count()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.put(0, 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.add(0, 0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.delete(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.clear()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.get(0)
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 Expecting exception from store.openCursor()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.TRANSACTION_INACTIVE_ERR
-PASS name is 'TransactionInactiveError'
 
 testSetVersionAbort5():
 PASS db.objectStoreNames is ['storeFail']
@@ -195,7 +173,6 @@ Verify that specifying an invalid mode raises an exception
 Expecting exception from db.transaction(['storeName'], 'lsakjdf')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.NOT_ALLOWED_ERR
-PASS name is 'NotAllowedError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 3f1578a..35f114a 100644 (file)
@@ -16,19 +16,16 @@ trans = db.transaction('store')
 Expecting exception from trans.objectStore('store').put('a', 'b')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.READ_ONLY_ERR
-PASS name is 'ReadOnlyError'
 trans = db.transaction('store')
 Expecting exception from trans.objectStore('store').delete('x')
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.READ_ONLY_ERR
-PASS name is 'ReadOnlyError'
 trans = db.transaction('store')
 cur = trans.objectStore('store').openCursor()
 PASS !event.target.result is false
 Expecting exception from event.target.result.delete()
 PASS Exception was thrown.
 PASS code is IDBDatabaseException.READ_ONLY_ERR
-PASS name is 'ReadOnlyError'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 173ebd2..61d3cf1 100644 (file)
@@ -1,3 +1,46 @@
+2012-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r118986.
+        http://trac.webkit.org/changeset/118986
+        https://bugs.webkit.org/show_bug.cgi?id=87914
+
+        Caused several IndexedDB browser_test failures on Chromium
+        canary builders (Requested by rafaelw_ on #webkit).
+
+        * Modules/indexeddb/IDBCursor.cpp:
+        (WebCore::IDBCursor::advance):
+        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+        (WebCore::IDBDatabaseBackendImpl::setVersion):
+        * Modules/indexeddb/IDBDatabaseError.h:
+        (WebCore::IDBDatabaseError::create):
+        (IDBDatabaseError):
+        (WebCore::IDBDatabaseError::createWithoutOffset):
+        (WebCore::IDBDatabaseError::code):
+        (WebCore::IDBDatabaseError::setCode):
+        (WebCore::IDBDatabaseError::setMessage):
+        (WebCore::IDBDatabaseError::IDBDatabaseError):
+        * Modules/indexeddb/IDBDatabaseException.cpp:
+        (WebCore):
+        (WebCore::IDBDatabaseException::initializeDescription):
+        * Modules/indexeddb/IDBDatabaseException.h:
+        (IDBDatabaseException):
+        * Modules/indexeddb/IDBObjectStore.cpp:
+        (WebCore::IDBObjectStore::createIndex):
+        * Modules/indexeddb/IDBRequest.cpp:
+        (WebCore::IDBRequest::resetReadyState):
+        (WebCore::IDBRequest::abort):
+        (WebCore::IDBRequest::onError):
+        (WebCore::IDBRequest::onSuccess):
+        (WebCore::IDBRequest::onSuccessWithContinuation):
+        (WebCore::IDBRequest::dispatchEvent):
+        * Modules/indexeddb/IDBRequest.h:
+        (IDBRequest):
+        * Modules/indexeddb/IDBRequest.idl:
+        * Modules/indexeddb/IDBTransaction.cpp:
+        * Modules/indexeddb/IDBTransaction.h:
+        (IDBTransaction):
+        * Modules/indexeddb/IDBTransaction.idl:
+
 2012-05-30  Dominic Mazzoni  <dmazzoni@chromium.org>
 
         [Chromium] AX: WebAccessibilityObject should check if an AccessibilityObject is detached
index de4ec08..22538c3 100644 (file)
@@ -158,8 +158,8 @@ void IDBCursor::advance(unsigned long count, ExceptionCode& ec)
     }
 
     if (!count) {
-        // FIXME: should be a JavaScript TypeError. See https://bugs.webkit.org/show_bug.cgi?id=85513
-        ec = IDBDatabaseException::IDB_TYPE_MISMATCH_ERR;
+        // FIXME: spec says we should throw a JavaScript TypeError
+        ec = TYPE_MISMATCH_ERR;
         return;
     }
 
index 3b29731..096ee85 100644 (file)
@@ -213,7 +213,8 @@ void IDBDatabaseBackendImpl::setVersion(const String& version, PassRefPtr<IDBCal
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
     RefPtr<IDBDatabaseCallbacks> databaseCallbacks = prpDatabaseCallbacks;
     if (!m_databaseCallbacksSet.contains(databaseCallbacks)) {
-        callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::IDB_ABORT_ERR, "Connection was closed before set version transaction was created"));
+        // FIXME: IDBDatabaseError doesn't yet do proper translation of IDB-specific uses of error codes, this should be IDB_ABORT_ERR
+        callbacks->onError(IDBDatabaseError::createWithoutOffset(ABORT_ERR, "Connection was closed before set version transaction was created"));
         return;
     }
     for (DatabaseCallbacksSet::const_iterator it = m_databaseCallbacksSet.begin(); it != m_databaseCallbacksSet.end(); ++it) {
index 76ff09f..8b42f17 100644 (file)
@@ -41,22 +41,28 @@ public:
     {
         ASSERT(code >= IDBDatabaseException::IDBDatabaseExceptionOffset);
         ASSERT(code < IDBDatabaseException::IDBDatabaseExceptionMax);
+        return adoptRef(new IDBDatabaseError(code - IDBDatabaseException::IDBDatabaseExceptionOffset, message));
+    }
+
+    static PassRefPtr<IDBDatabaseError> createWithoutOffset(unsigned short code, const String& message)
+    {
+        ASSERT(code < IDBDatabaseException::IDBDatabaseExceptionOffset);
         return adoptRef(new IDBDatabaseError(code, message));
     }
 
     ~IDBDatabaseError() { }
 
-    unsigned short code() const { return IDBDatabaseException::getLegacyErrorCode(m_code); }
-    unsigned short idbCode() const { return m_code; }
+    unsigned short code() const { return m_code; }
+    void setCode(unsigned short value) { m_code = value; }
     const String& message() const { return m_message; }
-    const String name() const { return IDBDatabaseException::getErrorName(m_code); };
+    void setMessage(const String& value) { m_message = value; }
 
 private:
     IDBDatabaseError(unsigned short code, const String& message)
-            : m_code(code), m_message(message) { }
+        : m_code(code), m_message(message) { }
 
-    const unsigned short m_code;
-    const String m_message;
+    unsigned short m_code;
+    String m_message;
 };
 
 } // namespace WebCore
index e52c329..0e1e5c4 100644 (file)
@@ -61,57 +61,30 @@ static const struct IDBDatabaseExceptionNameDescription {
     { "TimeoutError", "A lock for the transaction could not be obtained in a reasonable time.", TIMEOUT_ERR }, // FIXME: This isn't used yet.
     { "QuotaExceededError", "The operation failed because there was not enough remaining storage space, or the storage quota was reached and the user declined to give more space to the database.", QUOTA_EXCEEDED_ERR }, // FIXME: This isn't used yet
     { "SyntaxError", "The keypath argument contains an invalid key path.", SYNTAX_ERR },
-    { "DataCloneError", "The data being stored could not be cloned by the internal structured cloning algorithm.", DATA_CLONE_ERR },
-    // FIXME: should be a JavaScript TypeError. See https://bugs.webkit.org/show_bug.cgi?id=85513
-    { "TypeMismatchError", "This should be a TypeError", TYPE_MISMATCH_ERR },
-    { "NotSupportedError", "Cannot use multiEntry indexed with an array keypath", NOT_SUPPORTED_ERR },
+    { "DataCloneError", "The data being stored could not be cloned by the internal structured cloning algorithm.", DATA_CLONE_ERR }
 };
 
-static const IDBDatabaseExceptionNameDescription* getErrorEntry(ExceptionCode ec)
+bool IDBDatabaseException::initializeDescription(ExceptionCode ec, ExceptionCodeDescription* description)
 {
-    if (ec < IDBDatabaseException::IDBDatabaseExceptionOffset || ec > IDBDatabaseException::IDBDatabaseExceptionMax)
-        return 0;
+    if (ec < IDBDatabaseExceptionOffset || ec > IDBDatabaseExceptionMax)
+        return false;
 
     size_t tableSize = WTF_ARRAY_LENGTH(idbDatabaseExceptions);
     size_t tableIndex = ec - IDBDatabaseException::UNKNOWN_ERR;
 
-    return tableIndex < tableSize ? &idbDatabaseExceptions[tableIndex] : 0;
-}
-
-bool IDBDatabaseException::initializeDescription(ExceptionCode ec, ExceptionCodeDescription* description)
-{
-    const IDBDatabaseExceptionNameDescription* entry = getErrorEntry(ec);
-    if (!entry)
-        return false;
+    const IDBDatabaseExceptionNameDescription* entry = tableIndex < tableSize ? &idbDatabaseExceptions[tableIndex] : 0;
 
     description->typeName = "DOM IDBDatabase";
     description->code = (entry && entry->legacyCode) ? entry->legacyCode : ec - IDBDatabaseExceptionOffset;
     description->type = IDBDatabaseExceptionType;
 
+
     description->name = entry ? entry->name : 0;
     description->description = entry ? entry->description : 0;
 
     return true;
 }
 
-String IDBDatabaseException::getErrorName(ExceptionCode ec)
-{
-    const IDBDatabaseExceptionNameDescription* entry = getErrorEntry(ec);
-    ASSERT(entry);
-    if (!entry)
-        return "UnknownError";
-
-    return entry->name;
-}
-
-ExceptionCode IDBDatabaseException::getLegacyErrorCode(ExceptionCode ec)
-{
-    const IDBDatabaseExceptionNameDescription* entry = getErrorEntry(ec);
-    ASSERT(entry);
-
-    return (entry && entry->legacyCode) ? entry->legacyCode : ec - IDBDatabaseExceptionOffset;
-}
-
 } // namespace WebCore
 
 #endif // ENABLE(INDEXED_DATABASE)
index 35123d5..edc8cb0 100644 (file)
@@ -65,8 +65,6 @@ public:
         IDB_QUOTA_EXCEEDED_ERR,
         IDB_SYNTAX_ERR,
         IDB_DATA_CLONE_ERR,
-        IDB_TYPE_MISMATCH_ERR,
-        IDB_NOT_SUPPORTED_ERR,
     };
 
     static int ErrorCodeToExceptionCode(int errorCode)
@@ -77,8 +75,6 @@ public:
     }
 
     static bool initializeDescription(ExceptionCode, ExceptionCodeDescription*);
-    static String getErrorName(ExceptionCode);
-    static ExceptionCode getLegacyErrorCode(ExceptionCode);
 
 private:
     IDBDatabaseException(const ExceptionCodeDescription& description)
index 7b245e6..4d2a19c 100644 (file)
@@ -238,7 +238,7 @@ PassRefPtr<IDBIndex> IDBObjectStore::createIndex(const String& name, const IDBKe
     options.get("multiEntry", multiEntry);
 
     if (keyPath.type() == IDBKeyPath::ArrayType && multiEntry) {
-        ec = IDBDatabaseException::IDB_NOT_SUPPORTED_ERR;
+        ec = NOT_SUPPORTED_ERR;
         return 0;
     }
 
index a316f8d..ee340c7 100644 (file)
@@ -85,15 +85,6 @@ PassRefPtr<IDBAny> IDBRequest::result(ExceptionCode& ec) const
     return m_result;
 }
 
-PassRefPtr<DOMError> IDBRequest::error(ExceptionCode& ec) const
-{
-    if (m_readyState != DONE) {
-        ec = IDBDatabaseException::IDB_INVALID_STATE_ERR;
-        return 0;
-    }
-    return m_error;
-}
-
 unsigned short IDBRequest::errorCode(ExceptionCode& ec) const
 {
     if (m_readyState != DONE) {
@@ -151,7 +142,6 @@ bool IDBRequest::resetReadyState(IDBTransaction* transaction)
     m_readyState = PENDING;
     m_result.clear();
     m_errorCode = 0;
-    m_error.clear();
     m_errorMessage = String();
 
     IDBPendingTransactionMonitor::removePendingTransaction(m_transaction->backend());
@@ -182,10 +172,9 @@ void IDBRequest::abort()
     m_enqueuedEvents.clear();
 
     m_errorCode = 0;
-    m_error.clear();
     m_errorMessage = String();
     m_result.clear();
-    onError(IDBDatabaseError::create(IDBDatabaseException::IDB_ABORT_ERR, "The transaction was aborted, so the request cannot be fulfilled."));
+    onError(IDBDatabaseError::createWithoutOffset(ABORT_ERR, "The transaction was aborted, so the request cannot be fulfilled."));
 }
 
 void IDBRequest::setCursorType(IDBCursorBackendInterface::CursorType cursorType)
@@ -211,8 +200,6 @@ void IDBRequest::onError(PassRefPtr<IDBDatabaseError> error)
 {
     ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     m_errorCode = error->code();
-    ASSERT(!m_error);
-    m_error = DOMError::create(IDBDatabaseException::getErrorName(error->idbCode()));
     m_errorMessage = error->message();
     m_cursor.clear();
     enqueueEvent(Event::create(eventNames().errorEvent, true, true));
@@ -226,7 +213,7 @@ static PassRefPtr<Event> createSuccessEvent()
 void IDBRequest::onSuccess(PassRefPtr<DOMStringList> domStringList)
 {
     IDB_TRACE("IDBRequest::onSuccess(DOMStringList)");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     m_result = IDBAny::create(domStringList);
     enqueueEvent(createSuccessEvent());
 }
@@ -234,7 +221,7 @@ void IDBRequest::onSuccess(PassRefPtr<DOMStringList> domStringList)
 void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackendInterface> backend)
 {
     IDB_TRACE("IDBRequest::onSuccess(IDBCursor)");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     ASSERT(m_cursorType != IDBCursorBackendInterface::InvalidCursorType);
     RefPtr<IDBCursor> cursor;
     if (m_cursorType == IDBCursorBackendInterface::IndexKeyCursor)
@@ -249,7 +236,7 @@ void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackendInterface> backend)
 void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend)
 {
     IDB_TRACE("IDBRequest::onSuccess(IDBDatabase)");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     if (m_contextStopped || !scriptExecutionContext())
         return;
 
@@ -263,7 +250,7 @@ void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend)
 void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey)
 {
     IDB_TRACE("IDBRequest::onSuccess(IDBKey)");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     if (idbKey && idbKey->isValid())
         m_result = IDBAny::create(idbKey);
     else
@@ -274,7 +261,7 @@ void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey)
 void IDBRequest::onSuccess(PassRefPtr<IDBTransactionBackendInterface> prpBackend)
 {
     IDB_TRACE("IDBRequest::onSuccess(IDBTransaction)");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     RefPtr<IDBTransactionBackendInterface> backend = prpBackend;
 
     if (m_contextStopped || !scriptExecutionContext()) {
@@ -299,7 +286,7 @@ void IDBRequest::onSuccess(PassRefPtr<IDBTransactionBackendInterface> prpBackend
 void IDBRequest::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptValue)
 {
     IDB_TRACE("IDBRequest::onSuccess(SerializedScriptValue)");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     m_result = IDBAny::create(serializedScriptValue);
     m_cursor.clear();
     enqueueEvent(createSuccessEvent());
@@ -308,7 +295,7 @@ void IDBRequest::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptVal
 void IDBRequest::onSuccessWithContinuation()
 {
     IDB_TRACE("IDBRequest::onSuccessWithContinuation");
-    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_error && !m_result);
+    ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result);
     ASSERT(m_cursor);
     setResultCursor(m_cursor, m_cursorType);
     m_cursor.clear();
@@ -400,10 +387,8 @@ bool IDBRequest::dispatchEvent(PassRefPtr<Event> event)
 
     if (m_transaction && event->type() != eventNames().blockedEvent) {
         // If an error event and the default wasn't prevented...
-        if (dontPreventDefault && event->type() == eventNames().errorEvent) {
-            m_transaction->setError(m_error);
+        if (dontPreventDefault && event->type() == eventNames().errorEvent)
             m_transaction->backend()->abort();
-        }
         m_transaction->backend()->didCompleteTaskEvents();
     }
     return dontPreventDefault;
index e104d8f..055d001 100644 (file)
@@ -32,7 +32,6 @@
 #if ENABLE(INDEXED_DATABASE)
 
 #include "ActiveDOMObject.h"
-#include "DOMError.h"
 #include "DOMStringList.h"
 #include "Event.h"
 #include "EventListener.h"
@@ -54,7 +53,6 @@ public:
 
     PassRefPtr<IDBAny> result(ExceptionCode&) const;
     unsigned short errorCode(ExceptionCode&) const;
-    PassRefPtr<DOMError> error(ExceptionCode&) const;
     String webkitErrorMessage(ExceptionCode&) const;
     PassRefPtr<IDBAny> source() const;
     PassRefPtr<IDBTransaction> transaction() const;
@@ -111,7 +109,6 @@ protected:
     RefPtr<IDBAny> m_result;
     unsigned short m_errorCode;
     String m_errorMessage;
-    RefPtr<DOMError> m_error;
 
 private:
     // EventTarget
index 1e49415..7cd3415 100644 (file)
@@ -38,11 +38,8 @@ module storage {
             getter raises (IDBDatabaseException);
         readonly attribute unsigned short errorCode
             getter raises (IDBDatabaseException);
-        readonly attribute DOMError error
-            getter raises (IDBDatabaseException);
         readonly attribute [TreatReturnedNullStringAs=Undefined] DOMString webkitErrorMessage
             getter raises (IDBDatabaseException);
-
         readonly attribute IDBAny source;
         readonly attribute IDBTransaction transaction;
 
index f5c744b..e9d3b97 100644 (file)
@@ -118,26 +118,6 @@ IDBDatabase* IDBTransaction::db() const
     return m_database.get();
 }
 
-PassRefPtr<DOMError> IDBTransaction::error(ExceptionCode& ec) const
-{
-    if (!m_transactionFinished) {
-        ec = IDBDatabaseException::IDB_INVALID_STATE_ERR;
-        return 0;
-    }
-    return m_error;
-}
-
-void IDBTransaction::setError(PassRefPtr<DOMError> error)
-{
-    ASSERT(!m_transactionFinished);
-    ASSERT(error);
-
-    // The first error to be set is the true cause of the
-    // transaction abort.
-    if (!m_error)
-        m_error = error;
-}
-
 PassRefPtr<IDBObjectStore> IDBTransaction::objectStore(const String& name, ExceptionCode& ec)
 {
     if (m_transactionFinished) {
index 1cebe9c..641f62b 100644 (file)
@@ -29,7 +29,6 @@
 #if ENABLE(INDEXED_DATABASE)
 
 #include "ActiveDOMObject.h"
-#include "DOMError.h"
 #include "DOMStringList.h"
 #include "Event.h"
 #include "EventListener.h"
@@ -71,9 +70,6 @@ public:
 
     const String& mode() const;
     IDBDatabase* db() const;
-    PassRefPtr<DOMError> error(ExceptionCode&) const;
-    void setError(PassRefPtr<DOMError>);
-
     PassRefPtr<IDBObjectStore> objectStore(const String& name, ExceptionCode&);
     void abort();
 
@@ -133,7 +129,6 @@ private:
     const unsigned short m_mode;
     bool m_transactionFinished; // Is it possible that we'll fire any more events or allow any new requests? If not, we're finished.
     bool m_contextStopped;
-    RefPtr<DOMError> m_error;
 
     ListHashSet<IDBRequest*> m_childRequests;
 
index a0e54c0..b585108 100644 (file)
@@ -39,9 +39,6 @@ module storage {
         // Properties
         readonly attribute DOMString mode;
         readonly attribute IDBDatabase db;
-        readonly attribute DOMError error 
-            getter raises (IDBDatabaseException);
-
         // Methods
         IDBObjectStore objectStore (in DOMString name)
             raises (IDBDatabaseException);
index aec4b8b..0e5485d 100644 (file)
@@ -1,3 +1,15 @@
+2012-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r118986.
+        http://trac.webkit.org/changeset/118986
+        https://bugs.webkit.org/show_bug.cgi?id=87914
+
+        Caused several IndexedDB browser_test failures on Chromium
+        canary builders (Requested by rafaelw_ on #webkit).
+
+        * src/WebIDBDatabaseError.cpp:
+        (WebKit::WebIDBDatabaseError::assign):
+
 2012-05-30  Dominic Mazzoni  <dmazzoni@google.com>
 
         AX: Chromium WebAccessibilityObject should check if an AccessibilityObject is detached
index 794a025..c454b48 100644 (file)
@@ -47,7 +47,7 @@ void WebIDBDatabaseError::assign(const WebIDBDatabaseError& value)
 
 void WebIDBDatabaseError::assign(unsigned short code, const WebString& message)
 {
-    m_private = IDBDatabaseError::create(code, message);
+    m_private = IDBDatabaseError::createWithoutOffset(code, message);
 }
 
 void WebIDBDatabaseError::reset()