Title: [203309] trunk
Revision
203309
Author
[email protected]
Date
2016-07-15 17:04:42 -0700 (Fri, 15 Jul 2016)

Log Message

Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
https://bugs.webkit.org/show_bug.cgi?id=159839

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* IndexedDB-private-browsing/idbindex_get7-expected.txt:
* IndexedDB-private-browsing/idbindex_getKey7-expected.txt:
* IndexedDB-private-browsing/idbindex_openCursor2-expected.txt:
* IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt:
* web-platform-tests/IndexedDB/idbindex_get7-expected.txt:
* web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt:
* web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt:
* web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt:

Source/WebCore:

No new tests (Covered by changes to existing tests).

This is the first step towards extended exception messages for all exception types.

* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::ExceptionBase):
(WebCore::ExceptionBase::toString):
* dom/ExceptionBase.h:

LayoutTests:

* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-private-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/double-abort-private-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (203308 => 203309)


--- trunk/LayoutTests/ChangeLog	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/ChangeLog	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,3 +1,19 @@
+2016-07-15  Brady Eidson  <[email protected]>
+
+        Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
+        https://bugs.webkit.org/show_bug.cgi?id=159839
+
+        Reviewed by Alex Christensen.
+
+        * storage/indexeddb/modern/createobjectstore-failures-expected.txt:
+        * storage/indexeddb/modern/createobjectstore-failures-private-expected.txt:
+        * storage/indexeddb/modern/double-abort-expected.txt:
+        * storage/indexeddb/modern/double-abort-private-expected.txt:
+        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
+        * storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt:
+        * storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
+        * storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt:
+
 2016-07-15  Brent Fulgham  <[email protected]>
 
         Merge background parser Blink test case

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,3 +1,19 @@
+2016-07-15  Brady Eidson  <[email protected]>
+
+        Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
+        https://bugs.webkit.org/show_bug.cgi?id=159839
+
+        Reviewed by Alex Christensen.
+
+        * IndexedDB-private-browsing/idbindex_get7-expected.txt:
+        * IndexedDB-private-browsing/idbindex_getKey7-expected.txt:
+        * IndexedDB-private-browsing/idbindex_openCursor2-expected.txt:
+        * IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt:
+        * web-platform-tests/IndexedDB/idbindex_get7-expected.txt:
+        * web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt:
+        * web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt:
+        * web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt:
+
 2016-07-14  Youenn Fablet  <[email protected]>
 
         DOMIterators should be assigned a correct prototype

Modified: trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_get7-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_get7-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_get7-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.get() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.get("data");
-        }" threw object "Error: Failed to execute 'get' on 'IDBIndex': The transac..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_getKey7-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_getKey7-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_getKey7-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.getKey() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.getKey("data");
-        }" threw object "Error: Failed to execute 'getKey' on 'IDBIndex': The tran..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_openCursor2-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_openCursor2-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_openCursor2-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.openCursor() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.openCursor();
-        }" threw object "Error: Failed to execute 'openCursor' on 'IDBIndex': The ..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.openKeyCursor() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.openKeyCursor();
-        }" threw object "Error: Failed to execute 'openKeyCursor' on 'IDBIndex': T..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_get7-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_get7-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_get7-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.get() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.get("data");
-        }" threw object "Error: Failed to execute 'get' on 'IDBIndex': The transac..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.getKey() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.getKey("data");
-        }" threw object "Error: Failed to execute 'getKey' on 'IDBIndex': The tran..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.openCursor() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.openCursor();
-        }" threw object "Error: Failed to execute 'openCursor' on 'IDBIndex': The ..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt (203308 => 203309)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,5 +1,5 @@
 
 FAIL IDBIndex.openKeyCursor() - throw TransactionInactiveError on aborted transaction assert_throws: function "function (){
             index.openKeyCursor();
-        }" threw object "Error: Failed to execute 'openKeyCursor' on 'IDBIndex': T..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
+        }" threw object "TransactionInactiveError (DOM IDBDatabase Exception): Fai..." that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
 

Modified: trunk/LayoutTests/storage/indexeddb/modern/createobjectstore-failures-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/createobjectstore-failures-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/createobjectstore-failures-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -8,25 +8,25 @@
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
 Initial upgrade needed: Old version - 0 New version - 1
-Failed to create object store with both autoincrement and an empty keypath: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
+Failed to create object store with both autoincrement and an empty keypath: InvalidAccessError (DOM IDBDatabase Exception 15): Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
 Object store names:
-Failed to create object store with both autoincrement and a sequence keypath: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
+Failed to create object store with both autoincrement and a sequence keypath: InvalidAccessError (DOM IDBDatabase Exception 15): Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
 Object store names:
-Failed to create object store with invalid keyPath: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
+Failed to create object store with invalid keyPath: SyntaxError (DOM IDBDatabase Exception 12): Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
 Object store names:
 Actually created an object store
 Object store names:
 TestObjectStore1
-Failed to create TestObjectStore a second time: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': An object store with the specified name already exists.
+Failed to create TestObjectStore a second time: ConstraintError (DOM IDBDatabase Exception): Failed to execute 'createObjectStore' on 'IDBDatabase': An object store with the specified name already exists.
 Object store names:
 TestObjectStore1
 Initial upgrade versionchange transaction complete
 Object store names:
 TestObjectStore1
-Failed to create object store while there is no version change transaction: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
+Failed to create object store while there is no version change transaction: InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
 Object store names:
 TestObjectStore1
-Failed to create object store outside of onupgradeneeded: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
+Failed to create object store outside of onupgradeneeded: InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
 Object store names:
 TestObjectStore1
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/storage/indexeddb/modern/createobjectstore-failures-private-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/createobjectstore-failures-private-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/createobjectstore-failures-private-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -8,25 +8,25 @@
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
 Initial upgrade needed: Old version - 0 New version - 1
-Failed to create object store with both autoincrement and an empty keypath: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
+Failed to create object store with both autoincrement and an empty keypath: InvalidAccessError (DOM IDBDatabase Exception 15): Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
 Object store names:
-Failed to create object store with both autoincrement and a sequence keypath: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
+Failed to create object store with both autoincrement and a sequence keypath: InvalidAccessError (DOM IDBDatabase Exception 15): Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
 Object store names:
-Failed to create object store with invalid keyPath: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
+Failed to create object store with invalid keyPath: SyntaxError (DOM IDBDatabase Exception 12): Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
 Object store names:
 Actually created an object store
 Object store names:
 TestObjectStore1
-Failed to create TestObjectStore a second time: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': An object store with the specified name already exists.
+Failed to create TestObjectStore a second time: ConstraintError (DOM IDBDatabase Exception): Failed to execute 'createObjectStore' on 'IDBDatabase': An object store with the specified name already exists.
 Object store names:
 TestObjectStore1
 Initial upgrade versionchange transaction complete
 Object store names:
 TestObjectStore1
-Failed to create object store while there is no version change transaction: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
+Failed to create object store while there is no version change transaction: InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
 Object store names:
 TestObjectStore1
-Failed to create object store outside of onupgradeneeded: Error: Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
+Failed to create object store outside of onupgradeneeded: InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'createObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
 Object store names:
 TestObjectStore1
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/storage/indexeddb/modern/double-abort-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/double-abort-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/double-abort-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -8,7 +8,7 @@
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
 Initial upgrade needed: Old version - 0 New version - 1
-Second abort failed: Error: Failed to execute 'abort' on 'IDBTransaction': The transaction is inactive or finished.
+Second abort failed: InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'abort' on 'IDBTransaction': The transaction is inactive or finished.
 Initial upgrade versionchange transaction aborted
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/storage/indexeddb/modern/double-abort-private-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/double-abort-private-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/double-abort-private-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -8,7 +8,7 @@
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
 Initial upgrade needed: Old version - 0 New version - 1
-Second abort failed: Error: Failed to execute 'abort' on 'IDBTransaction': The transaction is inactive or finished.
+Second abort failed: InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'abort' on 'IDBTransaction': The transaction is inactive or finished.
 Initial upgrade versionchange transaction aborted
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -10,11 +10,11 @@
 Initial upgrade needed: Old version - 0 New version - 1
 Initial upgrade versionchange transaction complete
 readwrite put success - about to try to delete an objectstore
-Failed to deleteObjectStore without a versionchange transaction - Error: Failed to execute 'deleteObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
+Failed to deleteObjectStore without a versionchange transaction - InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'deleteObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
 readwrite transaction complete
 Second upgrade needed: Old version - 1 New version - 2
-Failed to deleteObjectStore with a non-existent objectstore - Error: Failed to execute 'deleteObjectStore' on 'IDBDatabase': The specified object store was not found.
-Failed to deleteObjectStore with an in-progress versionchange transaction that is inactive - Error: A request was placed against a transaction which is either currently not active, or which is finished.
+Failed to deleteObjectStore with a non-existent objectstore - NotFoundError (DOM IDBDatabase Exception 8): Failed to execute 'deleteObjectStore' on 'IDBDatabase': The specified object store was not found.
+Failed to deleteObjectStore with an in-progress versionchange transaction that is inactive - TransactionInactiveError (DOM IDBDatabase Exception): A request was placed against a transaction which is either currently not active, or which is finished.
 Second version change transaction complete
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -10,11 +10,11 @@
 Initial upgrade needed: Old version - 0 New version - 1
 Initial upgrade versionchange transaction complete
 readwrite put success - about to try to delete an objectstore
-Failed to deleteObjectStore without a versionchange transaction - Error: Failed to execute 'deleteObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
+Failed to deleteObjectStore without a versionchange transaction - InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'deleteObjectStore' on 'IDBDatabase': The database is not running a version change transaction.
 readwrite transaction complete
 Second upgrade needed: Old version - 1 New version - 2
-Failed to deleteObjectStore with a non-existent objectstore - Error: Failed to execute 'deleteObjectStore' on 'IDBDatabase': The specified object store was not found.
-Failed to deleteObjectStore with an in-progress versionchange transaction that is inactive - Error: A request was placed against a transaction which is either currently not active, or which is finished.
+Failed to deleteObjectStore with a non-existent objectstore - NotFoundError (DOM IDBDatabase Exception 8): Failed to execute 'deleteObjectStore' on 'IDBDatabase': The specified object store was not found.
+Failed to deleteObjectStore with an in-progress versionchange transaction that is inactive - TransactionInactiveError (DOM IDBDatabase Exception): A request was placed against a transaction which is either currently not active, or which is finished.
 Second version change transaction complete
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -8,13 +8,13 @@
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
 Upgrade needed: Old version - 0 New version - 1
-Failed to start a transaction while a versionChange transaction was in progress - Error: Failed to execute 'transaction' on 'IDBDatabase': A version change transaction is running.
+Failed to start a transaction while a versionChange transaction was in progress - InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'transaction' on 'IDBDatabase': A version change transaction is running.
 versionchange transaction completed
-Failed to start a transaction with an empty set of object stores - Error: Failed to execute 'transaction' on 'IDBDatabase': The storeNames parameter was empty.
-Failed to start a transaction to a nonexistent object store - Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
+Failed to start a transaction with an empty set of object stores - InvalidAccessError (DOM IDBDatabase Exception 15): Failed to execute 'transaction' on 'IDBDatabase': The storeNames parameter was empty.
+Failed to start a transaction to a nonexistent object store - NotFoundError (DOM IDBDatabase Exception 8): Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
 Failed to start a transaction with an invalid mode - TypeError: Failed to execute 'transaction' on 'IDBDatabase': The mode provided ('blahblah') is not one of 'readonly' or 'readwrite'.
 Failed to explicitly start a versionchange transaction - TypeError: Failed to execute 'transaction' on 'IDBDatabase': The mode provided ('versionchange') is not one of 'readonly' or 'readwrite'.
-Failed to explicitly start a transaction with the close pending flag set - Error: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.
+Failed to explicitly start a transaction with the close pending flag set - InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt (203308 => 203309)


--- trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt	2016-07-16 00:04:42 UTC (rev 203309)
@@ -8,13 +8,13 @@
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
 Upgrade needed: Old version - 0 New version - 1
-Failed to start a transaction while a versionChange transaction was in progress - Error: Failed to execute 'transaction' on 'IDBDatabase': A version change transaction is running.
+Failed to start a transaction while a versionChange transaction was in progress - InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'transaction' on 'IDBDatabase': A version change transaction is running.
 versionchange transaction completed
-Failed to start a transaction with an empty set of object stores - Error: Failed to execute 'transaction' on 'IDBDatabase': The storeNames parameter was empty.
-Failed to start a transaction to a nonexistent object store - Error: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
+Failed to start a transaction with an empty set of object stores - InvalidAccessError (DOM IDBDatabase Exception 15): Failed to execute 'transaction' on 'IDBDatabase': The storeNames parameter was empty.
+Failed to start a transaction to a nonexistent object store - NotFoundError (DOM IDBDatabase Exception 8): Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
 Failed to start a transaction with an invalid mode - TypeError: Failed to execute 'transaction' on 'IDBDatabase': The mode provided ('blahblah') is not one of 'readonly' or 'readwrite'.
 Failed to explicitly start a versionchange transaction - TypeError: Failed to execute 'transaction' on 'IDBDatabase': The mode provided ('versionchange') is not one of 'readonly' or 'readwrite'.
-Failed to explicitly start a transaction with the close pending flag set - Error: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.
+Failed to explicitly start a transaction with the close pending flag set - InvalidStateError (DOM IDBDatabase Exception 11): Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/Source/WebCore/ChangeLog (203308 => 203309)


--- trunk/Source/WebCore/ChangeLog	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/Source/WebCore/ChangeLog	2016-07-16 00:04:42 UTC (rev 203309)
@@ -1,3 +1,19 @@
+2016-07-15  Brady Eidson  <[email protected]>
+
+        Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
+        https://bugs.webkit.org/show_bug.cgi?id=159839
+
+        Reviewed by Alex Christensen.
+
+        No new tests (Covered by changes to existing tests).
+
+        This is the first step towards extended exception messages for all exception types.
+
+        * dom/ExceptionBase.cpp:
+        (WebCore::ExceptionBase::ExceptionBase):
+        (WebCore::ExceptionBase::toString):
+        * dom/ExceptionBase.h:
+
 2016-07-15  Geoffrey Garen  <[email protected]>
 
         Added a makeRef<T> helper

Modified: trunk/Source/WebCore/dom/ExceptionBase.cpp (203308 => 203309)


--- trunk/Source/WebCore/dom/ExceptionBase.cpp	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/Source/WebCore/dom/ExceptionBase.cpp	2016-07-16 00:04:42 UTC (rev 203309)
@@ -37,6 +37,8 @@
     : m_code(description.code)
     , m_name(description.name)
     , m_description(description.description)
+    , m_typeName(description.typeName)
+    , m_messageSource(messageSource)
 {
     if (messageSource == MessageSource::UseDescription) {
         m_message = m_description;
@@ -51,7 +53,17 @@
 
 String ExceptionBase::toString() const
 {
-    return "Error: " + m_message;
+    if (m_messageSource != MessageSource::UseDescription)
+        return makeString("Error: ", m_message);
+
+    String lastComponent;
+    if (!m_description.isEmpty())
+        lastComponent = makeString(": ", m_description);
+
+    if (m_name.isEmpty())
+        return makeString(m_typeName, " Exception", m_code ? makeString(" ", String::number(m_code)) : "", lastComponent);
+
+    return makeString(m_name, " (", m_typeName, " Exception", m_code ? makeString(" ", String::number(m_code)) : "", ")", lastComponent);
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/dom/ExceptionBase.h (203308 => 203309)


--- trunk/Source/WebCore/dom/ExceptionBase.h	2016-07-15 23:50:06 UTC (rev 203308)
+++ trunk/Source/WebCore/dom/ExceptionBase.h	2016-07-16 00:04:42 UTC (rev 203309)
@@ -58,6 +58,8 @@
     String m_name;
     String m_message;
     String m_description;
+    String m_typeName;
+    MessageSource m_messageSource;
 };
 
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to