Jonas,
This is our interpretation of how we see incorporating the new Event
constructor model defined in DOM 4.
[Constructor(DOMString type, optional IDBVersionChangeEventInit
IDBVersionChangeEventInitDict)]
interface IDBVersionChangeEvent : Event {
readonly attribute DOMString oldVersion;
readonly attribute DOMString newVersion;
void initIDBVersionChangeEvent (DOMString typeArg, boolean canBubbleArg,
boolean cancelableArg, DOMString oldVersion, DOMString newVersion);
};
dictionary IDBVersionChangeEventInit : EventInit {
DOMString oldVersion;
DOMString newVersion;
}
We'll need to add a step between 3 and 4 to section 4.12 and a note:
3.5 After dispatching the event, if the event was not cancelled and allowed to
bubble, then dispatch an ErrorEvent with the type set to "error" to the Window.
NOTE: When constructing an IDBVersionChangeEvent you need to follow the same
steps defined in DOM4 Section 4.3 Constructing events. In addition, setting
the onerror event handler with window.addEventListener will return the
ErrorEvent. However, setting the onerror event handler with window.onerror
will return three arguments as specified in HTML5 spec: event, source, and
lineno [1].
Sample code on how to use the event constructor:
var myDictionary = { canBubble: true, cancellable: true, oldVersion=1,
newVersion=2};
var changeEvent = new IDBVersionChangeEvent("versionchange", myDictionary);
Let us know if this is what you're thinking.
Israel
[1] http://dev.w3.org/html5/spec/Overview.html#event-handler-attributes