haikuwebkit/LayoutTests/storage/indexeddb/intversion-open-with-versio...

46 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

IndexedDB: integer version layout tests https://bugs.webkit.org/show_bug.cgi?id=92560 Reviewed by Nate Chapin. Most of the integer version layout tests are here, with failures in the expected files. This will allow us to incrementally implement upgradeneeded and integer versions and just make the big patch in bug 89505 smaller. There are two added skips to TestExpectations, one test exposes a bug in the current implementation, causing an assert to fail. The other times out in DRT so we will run it as a content_browsertest for the time being. * platform/chromium/TestExpectations: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: Added. * storage/indexeddb/intversion-and-setversion-expected.txt: Added. * storage/indexeddb/intversion-and-setversion.html: Added. * storage/indexeddb/intversion-blocked-expected.txt: Added. * storage/indexeddb/intversion-blocked.html: Added. * storage/indexeddb/intversion-close-between-events-expected.txt: Added. * storage/indexeddb/intversion-close-between-events.html: Added. * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added. * storage/indexeddb/intversion-close-in-oncomplete.html: Added. * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-close-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-gated-on-delete-expected.txt: Added. * storage/indexeddb/intversion-gated-on-delete.html: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects.html: Added. * storage/indexeddb/intversion-long-queue-expected.txt: Added. * storage/indexeddb/intversion-long-queue.html: Added. * storage/indexeddb/intversion-omit-parameter-expected.txt: Added. * storage/indexeddb/intversion-omit-parameter.html: Added. * storage/indexeddb/intversion-open-with-version-expected.txt: Added. * storage/indexeddb/intversion-open-with-version.html: Added. and their respective js files... * storage/indexeddb/resources/shared.js: (unexpectedVersionChangeCallback): (setDBNameFromPath): (preamble): Canonical link: https://commits.webkit.org/110754@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@124383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-01 23:27:13 +00:00
Test that specifying a version when opening a non-existent db causes an upgradeneeded event and that the version number is set correctly.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
indexedDB.deleteDatabase(dbname)
Should trigger:
4.1.4: If no database with the given name from the origin origin was found, or if it was deleted during the previous step, then create a database with name name, with 0 as version, and with no object stores. Let db be the new database.
4.1.6: Create a new connection to db and let connection represent it.
4.1.7: If the version of db is lower than version, then run the steps for running a "versionchange" transaction using connection, version, request and upgrade callback.
4.1.9: Return connection.
request = indexedDB.open(dbname, 7)
IndexedDB: Frontend and plumbing for integer versions https://bugs.webkit.org/show_bug.cgi?id=92897 Source/WebCore: Reviewed by Tony Chang. This patch exposes integer versions and the upgradeneeded event to script. The events surrounding an IDBOpenDBRequest follow a new pattern compared to other idb requests. An open request can receive a blocked event, an upgradeneeded event, and then a success event. When dispatching the upgradeneeded and success events the request has its readyState set to DONE and its result property set to an IDBDatabase. We usually think of IDBRequests firing one event with one result, cursors being the big exception. There are some minor changes around enqueuing and dispatching events to support this. There's also some funkiness in IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that the IDBDatabase object delivered in upgradeneeded is reused for the success event. Tests - expectations are updated in this patch. * Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::setVersion): (WebCore::IDBDatabase::onVersionChange): (WebCore): (WebCore::IDBDatabase::registerFrontendCallbacks): * Modules/indexeddb/IDBDatabase.h: (IDBDatabase): * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): * Modules/indexeddb/IDBDatabaseCallbacks.h: (IDBDatabaseCallbacks): * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: (WebCore::IDBDatabaseCallbacksImpl::onVersionChange): (WebCore): * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: (IDBDatabaseCallbacksImpl): * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::open): (WebCore): * Modules/indexeddb/IDBFactory.h: (IDBFactory): * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBFactoryBackendImpl.cpp: (WebCore::IDBFactoryBackendImpl::open): * Modules/indexeddb/IDBFactoryBackendImpl.h: (IDBFactoryBackendImpl): * Modules/indexeddb/IDBFactoryBackendInterface.h: (IDBFactoryBackendInterface): * Modules/indexeddb/IDBOpenDBRequest.cpp: Added. (WebCore): (WebCore::IDBOpenDBRequest::create): (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::interfaceName): (WebCore::IDBOpenDBRequest::onBlocked): (WebCore::IDBOpenDBRequest::onUpgradeNeeded): (WebCore::IDBOpenDBRequest::shouldEnqueueEvent): * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h. (WebCore): (IDBOpenDBRequest): * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): (WebCore::IDBRequest::shouldEnqueueEvent): (WebCore::IDBRequest::onSuccess): This function works with WebIDBCallbacksImpl::onSuccess to reuse its IDBDatabaseBackendInterface that it got during IDBOpenDBRequest::onUpgradeNeeded. (WebCore::IDBRequest::dispatchEvent): (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort): (WebCore): (WebCore::IDBRequest::enqueueEvent): * Modules/indexeddb/IDBRequest.h: (WebCore::IDBRequest::onBlocked): (IDBRequest): * Modules/indexeddb/IDBTransaction.cpp: We now take a pointer to the openDBRequest if this is a version change transaction as a result of an open-with-version call so that we can clear the transaction property on the openDBRequest as soon as the upgradeneeded event is dispatched per the spec ("... set request's transaction property to null... ", currently 4.8.12). (WebCore::IDBTransaction::create): (WebCore): (WebCore::IDBTransaction::IDBTransaction): (WebCore::IDBTransaction::setActive): (WebCore::IDBTransaction::onComplete): (WebCore::IDBTransaction::dispatchEvent): * Modules/indexeddb/IDBTransaction.h: (WebCore): (IDBTransaction): * Modules/indexeddb/IDBTransactionBackendImpl.cpp: (WebCore::IDBTransactionBackendImpl::commit): * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp. (WebCore): (WebCore::IDBUpgradeNeededEvent::create): (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::oldVersion): (WebCore::IDBUpgradeNeededEvent::newVersion): (WebCore::IDBUpgradeNeededEvent::interfaceName): * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h. (WebCore): (IDBUpgradeNeededEvent): * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * WebCore.gypi: * dom/EventNames.h: (WebCore): * dom/EventNames.in: * dom/EventTargetFactory.in: * inspector/InspectorIndexedDBAgent.cpp: (WebCore): Source/WebKit/chromium: Reviewed by Tony Chang. * src/IDBCallbacksProxy.cpp: (WebKit::IDBCallbacksProxy::onBlocked): (WebKit): (WebKit::IDBCallbacksProxy::onUpgradeNeeded): * src/IDBCallbacksProxy.h: (IDBCallbacksProxy): * src/IDBDatabaseBackendProxy.cpp: (WebKit::IDBDatabaseBackendProxy::setVersion): * src/IDBDatabaseCallbacksProxy.cpp: (WebKit::IDBDatabaseCallbacksProxy::onVersionChange): (WebKit): * src/IDBDatabaseCallbacksProxy.h: (IDBDatabaseCallbacksProxy): * src/IDBFactoryBackendProxy.cpp: (WebKit::IDBFactoryBackendProxy::open): * src/IDBFactoryBackendProxy.h: (IDBFactoryBackendProxy): * src/IDBTransactionCallbacksProxy.cpp: (WebKit::IDBTransactionCallbacksProxy::onComplete): * src/WebIDBCallbacksImpl.cpp: (WebKit::WebIDBCallbacksImpl::WebIDBCallbacksImpl): (WebKit::WebIDBCallbacksImpl::onSuccess): We don't want to create IDBDatabaseBackendProxy again if we've already created it during upgradeNeeded. This makes IDBRequest::onSuccess(IDBDatabaseBackend) reuse its previous IDBDatabaseBackendInterface if it has one. (WebKit::WebIDBCallbacksImpl::onBlocked): (WebKit): (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): * src/WebIDBCallbacksImpl.h: (WebIDBCallbacksImpl): * src/WebIDBDatabaseCallbacksImpl.cpp: (WebKit::WebIDBDatabaseCallbacksImpl::onVersionChange): (WebKit): * src/WebIDBDatabaseCallbacksImpl.h: (WebIDBDatabaseCallbacksImpl): * src/WebIDBDatabaseImpl.cpp: (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl): (WebKit::WebIDBDatabaseImpl::close): (WebKit::WebIDBDatabaseImpl::open): * src/WebIDBDatabaseImpl.h: (WebIDBDatabaseImpl): * src/WebIDBFactoryImpl.cpp: (WebKit::WebIDBFactoryImpl::open): * src/WebIDBFactoryImpl.h: (WebIDBFactoryImpl): * src/WebIDBTransactionCallbacksImpl.cpp: (WebKit::WebIDBTransactionCallbacksImpl::onComplete): * tests/IDBAbortOnCorruptTest.cpp: (WebCore::TEST): * tests/IDBDatabaseBackendTest.cpp: LayoutTests: This patch exposes integer versions and the upgradeneeded event to script so upgradeneeded events are now fired mostly per expectations. This is the bulk of changes to the expected files, further intversion patches will change the behavior of a test or two, nothing wholesale. Reviewed by Tony Chang. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: * storage/indexeddb/intversion-and-setversion-expected.txt: * storage/indexeddb/intversion-blocked-expected.txt: * storage/indexeddb/intversion-close-between-events-expected.txt: * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: * storage/indexeddb/intversion-gated-on-delete-expected.txt: * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: * storage/indexeddb/intversion-long-queue-expected.txt: * storage/indexeddb/intversion-open-with-version-expected.txt: Canonical link: https://commits.webkit.org/112101@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-17 04:21:37 +00:00
PASS String(request) is "[object IDBOpenDBRequest]"
IndexedDB: integer version layout tests https://bugs.webkit.org/show_bug.cgi?id=92560 Reviewed by Nate Chapin. Most of the integer version layout tests are here, with failures in the expected files. This will allow us to incrementally implement upgradeneeded and integer versions and just make the big patch in bug 89505 smaller. There are two added skips to TestExpectations, one test exposes a bug in the current implementation, causing an assert to fail. The other times out in DRT so we will run it as a content_browsertest for the time being. * platform/chromium/TestExpectations: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: Added. * storage/indexeddb/intversion-and-setversion-expected.txt: Added. * storage/indexeddb/intversion-and-setversion.html: Added. * storage/indexeddb/intversion-blocked-expected.txt: Added. * storage/indexeddb/intversion-blocked.html: Added. * storage/indexeddb/intversion-close-between-events-expected.txt: Added. * storage/indexeddb/intversion-close-between-events.html: Added. * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added. * storage/indexeddb/intversion-close-in-oncomplete.html: Added. * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-close-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-gated-on-delete-expected.txt: Added. * storage/indexeddb/intversion-gated-on-delete.html: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects.html: Added. * storage/indexeddb/intversion-long-queue-expected.txt: Added. * storage/indexeddb/intversion-long-queue.html: Added. * storage/indexeddb/intversion-omit-parameter-expected.txt: Added. * storage/indexeddb/intversion-omit-parameter.html: Added. * storage/indexeddb/intversion-open-with-version-expected.txt: Added. * storage/indexeddb/intversion-open-with-version.html: Added. and their respective js files... * storage/indexeddb/resources/shared.js: (unexpectedVersionChangeCallback): (setDBNameFromPath): (preamble): Canonical link: https://commits.webkit.org/110754@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@124383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-01 23:27:13 +00:00
IndexedDB: Frontend and plumbing for integer versions https://bugs.webkit.org/show_bug.cgi?id=92897 Source/WebCore: Reviewed by Tony Chang. This patch exposes integer versions and the upgradeneeded event to script. The events surrounding an IDBOpenDBRequest follow a new pattern compared to other idb requests. An open request can receive a blocked event, an upgradeneeded event, and then a success event. When dispatching the upgradeneeded and success events the request has its readyState set to DONE and its result property set to an IDBDatabase. We usually think of IDBRequests firing one event with one result, cursors being the big exception. There are some minor changes around enqueuing and dispatching events to support this. There's also some funkiness in IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that the IDBDatabase object delivered in upgradeneeded is reused for the success event. Tests - expectations are updated in this patch. * Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::setVersion): (WebCore::IDBDatabase::onVersionChange): (WebCore): (WebCore::IDBDatabase::registerFrontendCallbacks): * Modules/indexeddb/IDBDatabase.h: (IDBDatabase): * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): * Modules/indexeddb/IDBDatabaseCallbacks.h: (IDBDatabaseCallbacks): * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: (WebCore::IDBDatabaseCallbacksImpl::onVersionChange): (WebCore): * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: (IDBDatabaseCallbacksImpl): * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::open): (WebCore): * Modules/indexeddb/IDBFactory.h: (IDBFactory): * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBFactoryBackendImpl.cpp: (WebCore::IDBFactoryBackendImpl::open): * Modules/indexeddb/IDBFactoryBackendImpl.h: (IDBFactoryBackendImpl): * Modules/indexeddb/IDBFactoryBackendInterface.h: (IDBFactoryBackendInterface): * Modules/indexeddb/IDBOpenDBRequest.cpp: Added. (WebCore): (WebCore::IDBOpenDBRequest::create): (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::interfaceName): (WebCore::IDBOpenDBRequest::onBlocked): (WebCore::IDBOpenDBRequest::onUpgradeNeeded): (WebCore::IDBOpenDBRequest::shouldEnqueueEvent): * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h. (WebCore): (IDBOpenDBRequest): * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): (WebCore::IDBRequest::shouldEnqueueEvent): (WebCore::IDBRequest::onSuccess): This function works with WebIDBCallbacksImpl::onSuccess to reuse its IDBDatabaseBackendInterface that it got during IDBOpenDBRequest::onUpgradeNeeded. (WebCore::IDBRequest::dispatchEvent): (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort): (WebCore): (WebCore::IDBRequest::enqueueEvent): * Modules/indexeddb/IDBRequest.h: (WebCore::IDBRequest::onBlocked): (IDBRequest): * Modules/indexeddb/IDBTransaction.cpp: We now take a pointer to the openDBRequest if this is a version change transaction as a result of an open-with-version call so that we can clear the transaction property on the openDBRequest as soon as the upgradeneeded event is dispatched per the spec ("... set request's transaction property to null... ", currently 4.8.12). (WebCore::IDBTransaction::create): (WebCore): (WebCore::IDBTransaction::IDBTransaction): (WebCore::IDBTransaction::setActive): (WebCore::IDBTransaction::onComplete): (WebCore::IDBTransaction::dispatchEvent): * Modules/indexeddb/IDBTransaction.h: (WebCore): (IDBTransaction): * Modules/indexeddb/IDBTransactionBackendImpl.cpp: (WebCore::IDBTransactionBackendImpl::commit): * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp. (WebCore): (WebCore::IDBUpgradeNeededEvent::create): (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::oldVersion): (WebCore::IDBUpgradeNeededEvent::newVersion): (WebCore::IDBUpgradeNeededEvent::interfaceName): * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h. (WebCore): (IDBUpgradeNeededEvent): * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * WebCore.gypi: * dom/EventNames.h: (WebCore): * dom/EventNames.in: * dom/EventTargetFactory.in: * inspector/InspectorIndexedDBAgent.cpp: (WebCore): Source/WebKit/chromium: Reviewed by Tony Chang. * src/IDBCallbacksProxy.cpp: (WebKit::IDBCallbacksProxy::onBlocked): (WebKit): (WebKit::IDBCallbacksProxy::onUpgradeNeeded): * src/IDBCallbacksProxy.h: (IDBCallbacksProxy): * src/IDBDatabaseBackendProxy.cpp: (WebKit::IDBDatabaseBackendProxy::setVersion): * src/IDBDatabaseCallbacksProxy.cpp: (WebKit::IDBDatabaseCallbacksProxy::onVersionChange): (WebKit): * src/IDBDatabaseCallbacksProxy.h: (IDBDatabaseCallbacksProxy): * src/IDBFactoryBackendProxy.cpp: (WebKit::IDBFactoryBackendProxy::open): * src/IDBFactoryBackendProxy.h: (IDBFactoryBackendProxy): * src/IDBTransactionCallbacksProxy.cpp: (WebKit::IDBTransactionCallbacksProxy::onComplete): * src/WebIDBCallbacksImpl.cpp: (WebKit::WebIDBCallbacksImpl::WebIDBCallbacksImpl): (WebKit::WebIDBCallbacksImpl::onSuccess): We don't want to create IDBDatabaseBackendProxy again if we've already created it during upgradeNeeded. This makes IDBRequest::onSuccess(IDBDatabaseBackend) reuse its previous IDBDatabaseBackendInterface if it has one. (WebKit::WebIDBCallbacksImpl::onBlocked): (WebKit): (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): * src/WebIDBCallbacksImpl.h: (WebIDBCallbacksImpl): * src/WebIDBDatabaseCallbacksImpl.cpp: (WebKit::WebIDBDatabaseCallbacksImpl::onVersionChange): (WebKit): * src/WebIDBDatabaseCallbacksImpl.h: (WebIDBDatabaseCallbacksImpl): * src/WebIDBDatabaseImpl.cpp: (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl): (WebKit::WebIDBDatabaseImpl::close): (WebKit::WebIDBDatabaseImpl::open): * src/WebIDBDatabaseImpl.h: (WebIDBDatabaseImpl): * src/WebIDBFactoryImpl.cpp: (WebKit::WebIDBFactoryImpl::open): * src/WebIDBFactoryImpl.h: (WebIDBFactoryImpl): * src/WebIDBTransactionCallbacksImpl.cpp: (WebKit::WebIDBTransactionCallbacksImpl::onComplete): * tests/IDBAbortOnCorruptTest.cpp: (WebCore::TEST): * tests/IDBDatabaseBackendTest.cpp: LayoutTests: This patch exposes integer versions and the upgradeneeded event to script so upgradeneeded events are now fired mostly per expectations. This is the bulk of changes to the expected files, further intversion patches will change the behavior of a test or two, nothing wholesale. Reviewed by Tony Chang. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: * storage/indexeddb/intversion-and-setversion-expected.txt: * storage/indexeddb/intversion-blocked-expected.txt: * storage/indexeddb/intversion-close-between-events-expected.txt: * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: * storage/indexeddb/intversion-gated-on-delete-expected.txt: * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: * storage/indexeddb/intversion-long-queue-expected.txt: * storage/indexeddb/intversion-open-with-version-expected.txt: Canonical link: https://commits.webkit.org/112101@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-17 04:21:37 +00:00
PASS In the upgradeneeded event hander:
Test 4.8.9.1:
db = event.target.result
PASS String(db) is "[object IDBDatabase]"
Test 4.8.9.3:
PASS event.oldVersion is 0
PASS event.newVersion is 7
PASS event.target.readyState is "done"
Test 4.1.4:
PASS db.name is dbname
PASS db.version is 7
PASS db.objectStoreNames.length is 0
transaction = event.target.transaction
PASS String(transaction) is "[object IDBTransaction]"
os = db.createObjectStore("someOS")
sawTransactionComplete = true
IndexedDB: integer version layout tests https://bugs.webkit.org/show_bug.cgi?id=92560 Reviewed by Nate Chapin. Most of the integer version layout tests are here, with failures in the expected files. This will allow us to incrementally implement upgradeneeded and integer versions and just make the big patch in bug 89505 smaller. There are two added skips to TestExpectations, one test exposes a bug in the current implementation, causing an assert to fail. The other times out in DRT so we will run it as a content_browsertest for the time being. * platform/chromium/TestExpectations: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: Added. * storage/indexeddb/intversion-and-setversion-expected.txt: Added. * storage/indexeddb/intversion-and-setversion.html: Added. * storage/indexeddb/intversion-blocked-expected.txt: Added. * storage/indexeddb/intversion-blocked.html: Added. * storage/indexeddb/intversion-close-between-events-expected.txt: Added. * storage/indexeddb/intversion-close-between-events.html: Added. * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added. * storage/indexeddb/intversion-close-in-oncomplete.html: Added. * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-close-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-gated-on-delete-expected.txt: Added. * storage/indexeddb/intversion-gated-on-delete.html: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects.html: Added. * storage/indexeddb/intversion-long-queue-expected.txt: Added. * storage/indexeddb/intversion-long-queue.html: Added. * storage/indexeddb/intversion-omit-parameter-expected.txt: Added. * storage/indexeddb/intversion-omit-parameter.html: Added. * storage/indexeddb/intversion-open-with-version-expected.txt: Added. * storage/indexeddb/intversion-open-with-version.html: Added. and their respective js files... * storage/indexeddb/resources/shared.js: (unexpectedVersionChangeCallback): (setDBNameFromPath): (preamble): Canonical link: https://commits.webkit.org/110754@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@124383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-01 23:27:13 +00:00
openSuccess():
Test 4.1.7, that a versionchange transaction was run.
IndexedDB: Frontend and plumbing for integer versions https://bugs.webkit.org/show_bug.cgi?id=92897 Source/WebCore: Reviewed by Tony Chang. This patch exposes integer versions and the upgradeneeded event to script. The events surrounding an IDBOpenDBRequest follow a new pattern compared to other idb requests. An open request can receive a blocked event, an upgradeneeded event, and then a success event. When dispatching the upgradeneeded and success events the request has its readyState set to DONE and its result property set to an IDBDatabase. We usually think of IDBRequests firing one event with one result, cursors being the big exception. There are some minor changes around enqueuing and dispatching events to support this. There's also some funkiness in IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that the IDBDatabase object delivered in upgradeneeded is reused for the success event. Tests - expectations are updated in this patch. * Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::setVersion): (WebCore::IDBDatabase::onVersionChange): (WebCore): (WebCore::IDBDatabase::registerFrontendCallbacks): * Modules/indexeddb/IDBDatabase.h: (IDBDatabase): * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): * Modules/indexeddb/IDBDatabaseCallbacks.h: (IDBDatabaseCallbacks): * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: (WebCore::IDBDatabaseCallbacksImpl::onVersionChange): (WebCore): * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: (IDBDatabaseCallbacksImpl): * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::open): (WebCore): * Modules/indexeddb/IDBFactory.h: (IDBFactory): * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBFactoryBackendImpl.cpp: (WebCore::IDBFactoryBackendImpl::open): * Modules/indexeddb/IDBFactoryBackendImpl.h: (IDBFactoryBackendImpl): * Modules/indexeddb/IDBFactoryBackendInterface.h: (IDBFactoryBackendInterface): * Modules/indexeddb/IDBOpenDBRequest.cpp: Added. (WebCore): (WebCore::IDBOpenDBRequest::create): (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::interfaceName): (WebCore::IDBOpenDBRequest::onBlocked): (WebCore::IDBOpenDBRequest::onUpgradeNeeded): (WebCore::IDBOpenDBRequest::shouldEnqueueEvent): * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h. (WebCore): (IDBOpenDBRequest): * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): (WebCore::IDBRequest::shouldEnqueueEvent): (WebCore::IDBRequest::onSuccess): This function works with WebIDBCallbacksImpl::onSuccess to reuse its IDBDatabaseBackendInterface that it got during IDBOpenDBRequest::onUpgradeNeeded. (WebCore::IDBRequest::dispatchEvent): (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort): (WebCore): (WebCore::IDBRequest::enqueueEvent): * Modules/indexeddb/IDBRequest.h: (WebCore::IDBRequest::onBlocked): (IDBRequest): * Modules/indexeddb/IDBTransaction.cpp: We now take a pointer to the openDBRequest if this is a version change transaction as a result of an open-with-version call so that we can clear the transaction property on the openDBRequest as soon as the upgradeneeded event is dispatched per the spec ("... set request's transaction property to null... ", currently 4.8.12). (WebCore::IDBTransaction::create): (WebCore): (WebCore::IDBTransaction::IDBTransaction): (WebCore::IDBTransaction::setActive): (WebCore::IDBTransaction::onComplete): (WebCore::IDBTransaction::dispatchEvent): * Modules/indexeddb/IDBTransaction.h: (WebCore): (IDBTransaction): * Modules/indexeddb/IDBTransactionBackendImpl.cpp: (WebCore::IDBTransactionBackendImpl::commit): * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp. (WebCore): (WebCore::IDBUpgradeNeededEvent::create): (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::oldVersion): (WebCore::IDBUpgradeNeededEvent::newVersion): (WebCore::IDBUpgradeNeededEvent::interfaceName): * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h. (WebCore): (IDBUpgradeNeededEvent): * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * WebCore.gypi: * dom/EventNames.h: (WebCore): * dom/EventNames.in: * dom/EventTargetFactory.in: * inspector/InspectorIndexedDBAgent.cpp: (WebCore): Source/WebKit/chromium: Reviewed by Tony Chang. * src/IDBCallbacksProxy.cpp: (WebKit::IDBCallbacksProxy::onBlocked): (WebKit): (WebKit::IDBCallbacksProxy::onUpgradeNeeded): * src/IDBCallbacksProxy.h: (IDBCallbacksProxy): * src/IDBDatabaseBackendProxy.cpp: (WebKit::IDBDatabaseBackendProxy::setVersion): * src/IDBDatabaseCallbacksProxy.cpp: (WebKit::IDBDatabaseCallbacksProxy::onVersionChange): (WebKit): * src/IDBDatabaseCallbacksProxy.h: (IDBDatabaseCallbacksProxy): * src/IDBFactoryBackendProxy.cpp: (WebKit::IDBFactoryBackendProxy::open): * src/IDBFactoryBackendProxy.h: (IDBFactoryBackendProxy): * src/IDBTransactionCallbacksProxy.cpp: (WebKit::IDBTransactionCallbacksProxy::onComplete): * src/WebIDBCallbacksImpl.cpp: (WebKit::WebIDBCallbacksImpl::WebIDBCallbacksImpl): (WebKit::WebIDBCallbacksImpl::onSuccess): We don't want to create IDBDatabaseBackendProxy again if we've already created it during upgradeNeeded. This makes IDBRequest::onSuccess(IDBDatabaseBackend) reuse its previous IDBDatabaseBackendInterface if it has one. (WebKit::WebIDBCallbacksImpl::onBlocked): (WebKit): (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): * src/WebIDBCallbacksImpl.h: (WebIDBCallbacksImpl): * src/WebIDBDatabaseCallbacksImpl.cpp: (WebKit::WebIDBDatabaseCallbacksImpl::onVersionChange): (WebKit): * src/WebIDBDatabaseCallbacksImpl.h: (WebIDBDatabaseCallbacksImpl): * src/WebIDBDatabaseImpl.cpp: (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl): (WebKit::WebIDBDatabaseImpl::close): (WebKit::WebIDBDatabaseImpl::open): * src/WebIDBDatabaseImpl.h: (WebIDBDatabaseImpl): * src/WebIDBFactoryImpl.cpp: (WebKit::WebIDBFactoryImpl::open): * src/WebIDBFactoryImpl.h: (WebIDBFactoryImpl): * src/WebIDBTransactionCallbacksImpl.cpp: (WebKit::WebIDBTransactionCallbacksImpl::onComplete): * tests/IDBAbortOnCorruptTest.cpp: (WebCore::TEST): * tests/IDBDatabaseBackendTest.cpp: LayoutTests: This patch exposes integer versions and the upgradeneeded event to script so upgradeneeded events are now fired mostly per expectations. This is the bulk of changes to the expected files, further intversion patches will change the behavior of a test or two, nothing wholesale. Reviewed by Tony Chang. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: * storage/indexeddb/intversion-and-setversion-expected.txt: * storage/indexeddb/intversion-blocked-expected.txt: * storage/indexeddb/intversion-close-between-events-expected.txt: * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: * storage/indexeddb/intversion-gated-on-delete-expected.txt: * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: * storage/indexeddb/intversion-long-queue-expected.txt: * storage/indexeddb/intversion-open-with-version-expected.txt: Canonical link: https://commits.webkit.org/112101@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-17 04:21:37 +00:00
PASS sawUpgradeNeeded is true
PASS sawTransactionComplete is true
IndexedDB: integer version layout tests https://bugs.webkit.org/show_bug.cgi?id=92560 Reviewed by Nate Chapin. Most of the integer version layout tests are here, with failures in the expected files. This will allow us to incrementally implement upgradeneeded and integer versions and just make the big patch in bug 89505 smaller. There are two added skips to TestExpectations, one test exposes a bug in the current implementation, causing an assert to fail. The other times out in DRT so we will run it as a content_browsertest for the time being. * platform/chromium/TestExpectations: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: Added. * storage/indexeddb/intversion-and-setversion-expected.txt: Added. * storage/indexeddb/intversion-and-setversion.html: Added. * storage/indexeddb/intversion-blocked-expected.txt: Added. * storage/indexeddb/intversion-blocked.html: Added. * storage/indexeddb/intversion-close-between-events-expected.txt: Added. * storage/indexeddb/intversion-close-between-events.html: Added. * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added. * storage/indexeddb/intversion-close-in-oncomplete.html: Added. * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-close-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-gated-on-delete-expected.txt: Added. * storage/indexeddb/intversion-gated-on-delete.html: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects.html: Added. * storage/indexeddb/intversion-long-queue-expected.txt: Added. * storage/indexeddb/intversion-long-queue.html: Added. * storage/indexeddb/intversion-omit-parameter-expected.txt: Added. * storage/indexeddb/intversion-omit-parameter.html: Added. * storage/indexeddb/intversion-open-with-version-expected.txt: Added. * storage/indexeddb/intversion-open-with-version.html: Added. and their respective js files... * storage/indexeddb/resources/shared.js: (unexpectedVersionChangeCallback): (setDBNameFromPath): (preamble): Canonical link: https://commits.webkit.org/110754@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@124383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-01 23:27:13 +00:00
db = event.target.result
Kind of test 4.1.9:
PASS String(db) is "[object IDBDatabase]"
IndexedDB: Frontend and plumbing for integer versions https://bugs.webkit.org/show_bug.cgi?id=92897 Source/WebCore: Reviewed by Tony Chang. This patch exposes integer versions and the upgradeneeded event to script. The events surrounding an IDBOpenDBRequest follow a new pattern compared to other idb requests. An open request can receive a blocked event, an upgradeneeded event, and then a success event. When dispatching the upgradeneeded and success events the request has its readyState set to DONE and its result property set to an IDBDatabase. We usually think of IDBRequests firing one event with one result, cursors being the big exception. There are some minor changes around enqueuing and dispatching events to support this. There's also some funkiness in IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that the IDBDatabase object delivered in upgradeneeded is reused for the success event. Tests - expectations are updated in this patch. * Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::setVersion): (WebCore::IDBDatabase::onVersionChange): (WebCore): (WebCore::IDBDatabase::registerFrontendCallbacks): * Modules/indexeddb/IDBDatabase.h: (IDBDatabase): * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): * Modules/indexeddb/IDBDatabaseCallbacks.h: (IDBDatabaseCallbacks): * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: (WebCore::IDBDatabaseCallbacksImpl::onVersionChange): (WebCore): * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: (IDBDatabaseCallbacksImpl): * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::open): (WebCore): * Modules/indexeddb/IDBFactory.h: (IDBFactory): * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBFactoryBackendImpl.cpp: (WebCore::IDBFactoryBackendImpl::open): * Modules/indexeddb/IDBFactoryBackendImpl.h: (IDBFactoryBackendImpl): * Modules/indexeddb/IDBFactoryBackendInterface.h: (IDBFactoryBackendInterface): * Modules/indexeddb/IDBOpenDBRequest.cpp: Added. (WebCore): (WebCore::IDBOpenDBRequest::create): (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest): (WebCore::IDBOpenDBRequest::interfaceName): (WebCore::IDBOpenDBRequest::onBlocked): (WebCore::IDBOpenDBRequest::onUpgradeNeeded): (WebCore::IDBOpenDBRequest::shouldEnqueueEvent): * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h. (WebCore): (IDBOpenDBRequest): * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): (WebCore::IDBRequest::shouldEnqueueEvent): (WebCore::IDBRequest::onSuccess): This function works with WebIDBCallbacksImpl::onSuccess to reuse its IDBDatabaseBackendInterface that it got during IDBOpenDBRequest::onUpgradeNeeded. (WebCore::IDBRequest::dispatchEvent): (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort): (WebCore): (WebCore::IDBRequest::enqueueEvent): * Modules/indexeddb/IDBRequest.h: (WebCore::IDBRequest::onBlocked): (IDBRequest): * Modules/indexeddb/IDBTransaction.cpp: We now take a pointer to the openDBRequest if this is a version change transaction as a result of an open-with-version call so that we can clear the transaction property on the openDBRequest as soon as the upgradeneeded event is dispatched per the spec ("... set request's transaction property to null... ", currently 4.8.12). (WebCore::IDBTransaction::create): (WebCore): (WebCore::IDBTransaction::IDBTransaction): (WebCore::IDBTransaction::setActive): (WebCore::IDBTransaction::onComplete): (WebCore::IDBTransaction::dispatchEvent): * Modules/indexeddb/IDBTransaction.h: (WebCore): (IDBTransaction): * Modules/indexeddb/IDBTransactionBackendImpl.cpp: (WebCore::IDBTransactionBackendImpl::commit): * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp. (WebCore): (WebCore::IDBUpgradeNeededEvent::create): (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent): (WebCore::IDBUpgradeNeededEvent::oldVersion): (WebCore::IDBUpgradeNeededEvent::newVersion): (WebCore::IDBUpgradeNeededEvent::interfaceName): * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h. (WebCore): (IDBUpgradeNeededEvent): * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h. * WebCore.gypi: * dom/EventNames.h: (WebCore): * dom/EventNames.in: * dom/EventTargetFactory.in: * inspector/InspectorIndexedDBAgent.cpp: (WebCore): Source/WebKit/chromium: Reviewed by Tony Chang. * src/IDBCallbacksProxy.cpp: (WebKit::IDBCallbacksProxy::onBlocked): (WebKit): (WebKit::IDBCallbacksProxy::onUpgradeNeeded): * src/IDBCallbacksProxy.h: (IDBCallbacksProxy): * src/IDBDatabaseBackendProxy.cpp: (WebKit::IDBDatabaseBackendProxy::setVersion): * src/IDBDatabaseCallbacksProxy.cpp: (WebKit::IDBDatabaseCallbacksProxy::onVersionChange): (WebKit): * src/IDBDatabaseCallbacksProxy.h: (IDBDatabaseCallbacksProxy): * src/IDBFactoryBackendProxy.cpp: (WebKit::IDBFactoryBackendProxy::open): * src/IDBFactoryBackendProxy.h: (IDBFactoryBackendProxy): * src/IDBTransactionCallbacksProxy.cpp: (WebKit::IDBTransactionCallbacksProxy::onComplete): * src/WebIDBCallbacksImpl.cpp: (WebKit::WebIDBCallbacksImpl::WebIDBCallbacksImpl): (WebKit::WebIDBCallbacksImpl::onSuccess): We don't want to create IDBDatabaseBackendProxy again if we've already created it during upgradeNeeded. This makes IDBRequest::onSuccess(IDBDatabaseBackend) reuse its previous IDBDatabaseBackendInterface if it has one. (WebKit::WebIDBCallbacksImpl::onBlocked): (WebKit): (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): * src/WebIDBCallbacksImpl.h: (WebIDBCallbacksImpl): * src/WebIDBDatabaseCallbacksImpl.cpp: (WebKit::WebIDBDatabaseCallbacksImpl::onVersionChange): (WebKit): * src/WebIDBDatabaseCallbacksImpl.h: (WebIDBDatabaseCallbacksImpl): * src/WebIDBDatabaseImpl.cpp: (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl): (WebKit::WebIDBDatabaseImpl::close): (WebKit::WebIDBDatabaseImpl::open): * src/WebIDBDatabaseImpl.h: (WebIDBDatabaseImpl): * src/WebIDBFactoryImpl.cpp: (WebKit::WebIDBFactoryImpl::open): * src/WebIDBFactoryImpl.h: (WebIDBFactoryImpl): * src/WebIDBTransactionCallbacksImpl.cpp: (WebKit::WebIDBTransactionCallbacksImpl::onComplete): * tests/IDBAbortOnCorruptTest.cpp: (WebCore::TEST): * tests/IDBDatabaseBackendTest.cpp: LayoutTests: This patch exposes integer versions and the upgradeneeded event to script so upgradeneeded events are now fired mostly per expectations. This is the bulk of changes to the expected files, further intversion patches will change the behavior of a test or two, nothing wholesale. Reviewed by Tony Chang. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: * storage/indexeddb/intversion-and-setversion-expected.txt: * storage/indexeddb/intversion-blocked-expected.txt: * storage/indexeddb/intversion-close-between-events-expected.txt: * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: * storage/indexeddb/intversion-gated-on-delete-expected.txt: * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: * storage/indexeddb/intversion-long-queue-expected.txt: * storage/indexeddb/intversion-open-with-version-expected.txt: Canonical link: https://commits.webkit.org/112101@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-17 04:21:37 +00:00
PASS db.version is 7
IndexedDB: integer version layout tests https://bugs.webkit.org/show_bug.cgi?id=92560 Reviewed by Nate Chapin. Most of the integer version layout tests are here, with failures in the expected files. This will allow us to incrementally implement upgradeneeded and integer versions and just make the big patch in bug 89505 smaller. There are two added skips to TestExpectations, one test exposes a bug in the current implementation, causing an assert to fail. The other times out in DRT so we will run it as a content_browsertest for the time being. * platform/chromium/TestExpectations: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: Added. * storage/indexeddb/intversion-and-setversion-expected.txt: Added. * storage/indexeddb/intversion-and-setversion.html: Added. * storage/indexeddb/intversion-blocked-expected.txt: Added. * storage/indexeddb/intversion-blocked.html: Added. * storage/indexeddb/intversion-close-between-events-expected.txt: Added. * storage/indexeddb/intversion-close-between-events.html: Added. * storage/indexeddb/intversion-close-in-oncomplete-expected.txt: Added. * storage/indexeddb/intversion-close-in-oncomplete.html: Added. * storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-close-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded-expected.txt: Added. * storage/indexeddb/intversion-delete-in-upgradeneeded.html: Added. * storage/indexeddb/intversion-gated-on-delete-expected.txt: Added. * storage/indexeddb/intversion-gated-on-delete.html: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects-expected.txt: Added. * storage/indexeddb/intversion-invalid-setversion-has-no-side-effects.html: Added. * storage/indexeddb/intversion-long-queue-expected.txt: Added. * storage/indexeddb/intversion-long-queue.html: Added. * storage/indexeddb/intversion-omit-parameter-expected.txt: Added. * storage/indexeddb/intversion-omit-parameter.html: Added. * storage/indexeddb/intversion-open-with-version-expected.txt: Added. * storage/indexeddb/intversion-open-with-version.html: Added. and their respective js files... * storage/indexeddb/resources/shared.js: (unexpectedVersionChangeCallback): (setDBNameFromPath): (preamble): Canonical link: https://commits.webkit.org/110754@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@124383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-01 23:27:13 +00:00
PASS successfullyParsed is true
TEST COMPLETE