On Wed, Sep 21, 2011 at 11:58 AM, Israel Hilerio <isra...@microsoft.com> 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.

> 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.

> 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.

> 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);

Per [1] you should change 'canBubble' to 'bubbles'.

[1] http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#eventinit

/ Jonas

Reply via email to