[Webkit-unassigned] [Bug 53728] indexeddb: make setVersion fire blocked event if other connections are open
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 11 15:13:49 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=53728
--- Comment #11 from David Grogan <dgrogan at chromium.org> 2011-02-11 15:13:49 PST ---
(From update of attachment 81862)
View in context: https://bugs.webkit.org/attachment.cgi?id=81862&action=review
>> LayoutTests/storage/indexeddb/set_version_blocked.html:31
>> + verifyResult(result);
>
> In new tests, I'm voiding these because at this point they pretty much just add noise
done
>> LayoutTests/storage/indexeddb/set_version_blocked.html:39
>> + verifySuccessEvent(event);
>
> Ditto....fix throughout
done
>> LayoutTests/storage/indexeddb/set_version_blocked.html:42
>> + if (connections.length < 3) {
>
> no {}
done
>> LayoutTests/storage/indexeddb/set_version_blocked.html:44
>
> no {}
done
>> LayoutTests/storage/indexeddb/set_version_blocked.html:63
>
> Stuff like this should be in shouldBe/testPassed/debug()'s. The idea is that you should be able to follow along via the on-screen output.
gotcha
>> Source/WebCore/storage/IDBBlockedEvent.cpp:42
>> + : IDBEvent(eventNames().blockedEvent, source, false/*canBubble*/)
>
> space before /*?
done
>> Source/WebCore/storage/IDBBlockedEvent.h:45
>> + virtual String version();
>
> newline
done
>> Source/WebCore/storage/IDBBlockedEvent.h:48
>> + IDBBlockedEvent(PassRefPtr<IDBAny> source, const String& version);
>
> newline
done
>> Source/WebCore/storage/IDBDatabaseBackendImpl.cpp:217
>> + return;
>
> You need to add this to a queue and start the queue once there's only one connection left. And put a FIXME to only fire the event if the DB is still open.
done
>> Source/WebCore/storage/IDBDatabaseBackendImpl.cpp:260
>> void IDBDatabaseBackendImpl::close()
>
> On close, you need to re-try the set-version transaction.
done
>> Source/WebCore/storage/IDBDatabaseBackendImpl.h:65
>> + virtual void open();
>
> shouldn't be virtual. Group up above with the other non-virtual/not-in-idl stuff (like id)
done
>> Source/WebCore/storage/IDBRequest.h:85
>> + virtual void enqueueEvent(PassRefPtr<Event>);
>
> don't make stuff virtual unless necessary
done
>> Source/WebCore/storage/IDBRequest.h:86
>> + virtual IDBAny* source();
>
> I don't see any reason not to just make this public. But don't make virtual.
done
>> Source/WebCore/storage/IDBVersionChangeRequest.cpp:40
>> +IDBVersionChangeRequest::IDBVersionChangeRequest(ScriptExecutionContext* context, PassRefPtr<IDBAny> source, const String& version)
>
> newline
done
>> Source/WebCore/storage/IDBVersionChangeRequest.h:46
>> + String m_version;
>
> maybe a newline between these?
done
--
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