On Wednesday, September 21, 2011 2:50 PM, Jonas Sicking wrote:
> On Wed, Sep 21, 2011 at 11:58 AM, Israel Hilerio <[email protected]>
> wrote:
> > 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;
> > }
>
> Looks great apart from needing to remove the init function as Anne points
> out.
>
Makes sense, I originally had it for interoperability but I see Anne's point.
[Constructor(DOMString type, optional IDBVersionChangeEventInit
IDBVersionChangeEventInitDict)] interface IDBVersionChangeEvent :
Event {
readonly attribute DOMString oldVersion;
readonly attribute 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.
>
> You don't need to state "and allowed to bubble", all events dispatched by
> this algorithm bubble as per step 3.
>
I'll update the text to say:
3.5 After dispatching the event, if the event was not cancelled, 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].
>
> I agree with Anne, this language is confusing. Dispatch of the onerror handler
> is handled by the HTML5 so I'm not sure we need to say anything here.
>
Makes sense!
> > 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);
>
Sounds good! The updated example will look like this:
var myDictionary = { bubbles: true, cancellable: true, oldVersion=1,
newVersion=2};
var changeEvent = new IDBVersionChangeEvent("versionchange", myDictionary);
> Per [1] you should change 'canBubble' to 'bubbles'.
>
> [1] http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#eventinit
>
> / Jonas
Cool, I will work with Eliot to update the spec.
Israel