[Global=Window, Exposed=Window] interface Window { }; [TreatNonObjectAsNull] callback EventHandlerNonNull = any (Event event); typedef EventHandlerNonNull? EventHandler; [NoInterfaceObject] interface GlobalEventHandlers { }; Window implements GlobalEventHandlers; interface Element { }; interface HTMLElement : Element { }; HTMLElement implements GlobalEventHandlers; interface Document { }; Document implements GlobalEventHandlers; interface MouseEvent { };