Modern IDB: Support IDBDatabase.transaction() (and transaction scheduling in general)
Created attachment 264254 [details] Patch v1
Attachment 264254 [details] did not pass style-queue: ERROR: Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:524: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 40 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 264255 [details] Patch v2
Attachment 264255 [details] did not pass style-queue: ERROR: Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:524: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 40 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 264255 [details] Patch v2 Attachment 264255 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/350329 New failing tests: imported/w3c/indexeddb/idbdatabase_transaction5.htm
Created attachment 264260 [details] Archive of layout-test-results from ews107 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Comment on attachment 264255 [details] Patch v2 View in context: https://bugs.webkit.org/attachment.cgi?id=264255&action=review Add a test that makes a spinning read-only transaction, another read-only transaction that stops the first one from spinning once it is finished, then a third read-write transaction that has to wait for both transactions to complete before starting. r=me once these tests are added. > Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp:137 > + if (m_closePending) { Test this. > Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp:142 > + if (objectStores.isEmpty()) { test this. > Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp:148 > + IndexedDB::TransactionMode mode = IDBTransaction::stringToMode(modeString, ec); > + if (ec) test this. > Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp:151 > + if (mode != IndexedDB::TransactionMode::ReadOnly && mode != IndexedDB::TransactionMode::ReadWrite) { test this. > Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp:156 > + if (m_versionChangeTransaction) { test this. > Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp:164 > + for (auto& objectStoreName : objectStores) { > + if (m_info.hasObjectStore(objectStoreName)) > + continue; > + ec = NOT_FOUND_ERR; test this. > Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.cpp:40 > + IDBTransactionInfo result((IDBResourceIdentifier(connection))); That's a lot of parentheses. > Source/WebCore/Modules/indexeddb/shared/IDBTransactionInfo.cpp:49 > IDBTransactionInfo result((IDBResourceIdentifier(connection))); Here, too > Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp:101 > + scope.append(scopeArg.toString(&exec)->value(&exec)); can toString fail?
Created attachment 264269 [details] Patch v3 - Wild attempt at landable patch before I go home.
Attachment 264269 [details] did not pass style-queue: ERROR: Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:524: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 46 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 264269 [details] Patch v3 - Wild attempt at landable patch before I go home. Attachment 264269 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/350925 New failing tests: imported/w3c/indexeddb/idbdatabase_transaction5.htm
Created attachment 264282 [details] Archive of layout-test-results from ews106 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Created attachment 264291 [details] Patch v4
Attachment 264291 [details] did not pass style-queue: ERROR: Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:524: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 46 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 264291 [details] Patch v4 Clearing flags on attachment: 264291 Committed r191722: <http://trac.webkit.org/changeset/191722>
All reviewed patches have been landed. Closing bug.