[Webkit-unassigned] [Bug 55095] IndexedDB: fire versionchange events when calling setVersion
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Feb 24 18:04:28 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=55095
--- Comment #5 from Jeremy Orlow <jorlow at chromium.org> 2011-02-24 18:04:28 PST ---
(In reply to comment #4)
> (From update of attachment 83570 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=83570&action=review
>
> Switching away from connectionId isn't going smoothly. I misunderstood the alternative (using the callbacks objects themselves as ids) you described, but I'm not sure where :( I outlined the changes below that I think you talked about. If I do them, it doesn't seem possible to compare the set of IDBDatabaseCallbacks (really IDBDatabaseCallbacksProxy) objects known to IDBDatabaseBackendImpl with the objects coming in to IDBDatabaseBackendImpl::close and IDBDatabaseBackendImpl::setVersion. Could you let me know where I went wrong?
>
> > Source/WebCore/storage/IDBDatabase.cpp:107
> > + m_backend->setVersion(version, request, m_connectionId, ec);
>
> "m_connectionId" would change to "this"
>
> > Source/WebCore/storage/IDBDatabaseBackendImpl.cpp:165
> > +void IDBDatabaseBackendImpl::setVersion(const String& version, PassRefPtr<IDBCallbacks> prpCallbacks, int connectionId, ExceptionCode& ec)
>
> Say I change "int connectionId" to "PassRefPtr<IDBDatabaseCallbacks> prpDBCallbacks", [next comment]
>
> > Source/WebCore/storage/IDBDatabaseBackendImpl.cpp:174
> > + if (it->first != connectionId)
>
> how do I preserve this check to not fire a versionchange event at the connection that initiated the version change? It seems like I need to compare a RefPtr<IDBDatabaseCallbacksProxy> with each element in a ListHashSet<RefPtr<IDBDatabaseCallbacksProxy> >, but the IDBDatabaseCallbacksProxy objects are all different even though they wrap some of the same IDBDatabase objects.
I have some ideas....let's talk tomorrow. It may not be practical tho...
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list