[webkit-reviews] review denied: [Bug 46883] IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous. : [Attachment 69498] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Oct 4 11:16:42 PDT 2010
Jeremy Orlow <jorlow at chromium.org> has denied Andrei Popescu
<andreip at google.com>'s request for review:
Bug 46883: IDBDatabase::createObjectStore/removeObjectStore and
IDBObjectStore::createIndex/removeIndex should be synchronous.
https://bugs.webkit.org/show_bug.cgi?id=46883
Attachment 69498: Patch
https://bugs.webkit.org/attachment.cgi?id=69498&action=review
------- Additional Comments from Jeremy Orlow <jorlow at chromium.org>
close
View in context: https://bugs.webkit.org/attachment.cgi?id=69498&action=review
> LayoutTests/storage/indexeddb/objectstore-cursor.html:67
> + if (window.nextToAdd > 0)
hu?
> LayoutTests/storage/indexeddb/resources/shared.js:82
> + onfinished();
ugh! I'm so stupid...I just made this change...should have realized it's
worthless (and not made the change in my last patch). Maybe put in a FIXME to
make this function sync and not do a callback like this.
> WebCore/storage/IDBDatabaseBackendImpl.cpp:191
> + RefPtr<IDBTransactionBackendInterface> rpTransaction = transaction;
transactionPtr...here and elsewhere
> WebCore/storage/IDBIndexBackendImpl.cpp:55
> + , m_id(0)
use a constant instead of 0 maybe?
> WebCore/storage/IDBIndexBackendImpl.h:52
> + int64_t id() const { return m_id; }
ditto to all comments below
> WebCore/storage/IDBObjectStoreBackendImpl.cpp:335
> + transaction->didCompleteTaskEvents();
Wait...why do we need this? Isn't this implicit whenever a task's events
finish?
> WebCore/storage/IDBObjectStoreBackendImpl.h:55
> int64_t id() const { return m_id; }
Assert the id is valid maybe? ...here and everywhere that id is used?
Please put in a comment here describing the subtleties of this..and how stuff
using id should only be queued asyncly.
We should put a fixme or actual code into the transaction coordinator to make
sure that it blocks any transactions on this object store on this current
transaction finishing....
> WebCore/storage/IDBTransactionBackendImpl.cpp:146
> +void
IDBTransactionBackendImpl::taskEventTimerFired(Timer<IDBTransactionBackendImpl>
*)
Hm...this still seems a bit fragile...but I guess it's good enough for now.
More information about the webkit-reviews
mailing list