1/*
2 * Copyright (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2008 Apple Inc. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27[
28    JSCustomMarkFunction,
29    JSGenerateToNativeObject,
30    JSGenerateToJSObject,
31    EventTarget
32] interface SVGElementInstance
33#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
34    : Object, EventTarget
35#else
36    : EventTarget
37#endif /* defined(LANGUAGE_OBJECTIVE_C) */
38{
39    readonly attribute SVGElement correspondingElement;
40    readonly attribute SVGUseElement correspondingUseElement;
41    readonly attribute SVGElementInstance parentNode;
42    readonly attribute SVGElementInstanceList childNodes;
43    readonly attribute SVGElementInstance firstChild;
44    readonly attribute SVGElementInstance lastChild;
45    readonly attribute SVGElementInstance previousSibling;
46    readonly attribute SVGElementInstance nextSibling;
47
48    // EventTarget
49#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
50    [NotEnumerable] attribute EventListener onabort;
51    [NotEnumerable] attribute EventListener onblur;
52    [NotEnumerable] attribute EventListener onchange;
53    [NotEnumerable] attribute EventListener onclick;
54    [NotEnumerable] attribute EventListener oncontextmenu;
55    [NotEnumerable] attribute EventListener ondblclick;
56    [NotEnumerable] attribute EventListener onerror;
57    [NotEnumerable] attribute EventListener onfocus;
58    [NotEnumerable] attribute EventListener oninput;
59    [NotEnumerable] attribute EventListener onkeydown;
60    [NotEnumerable] attribute EventListener onkeypress;
61    [NotEnumerable] attribute EventListener onkeyup;
62    [NotEnumerable] attribute EventListener onload;
63    [NotEnumerable] attribute EventListener onmousedown;
64    [NotEnumerable] attribute EventListener onmouseenter;
65    [NotEnumerable] attribute EventListener onmouseleave;
66    [NotEnumerable] attribute EventListener onmousemove;
67    [NotEnumerable] attribute EventListener onmouseout;
68    [NotEnumerable] attribute EventListener onmouseover;
69    [NotEnumerable] attribute EventListener onmouseup;
70    [NotEnumerable] attribute EventListener onmousewheel;
71    [NotEnumerable] attribute EventListener onwheel;
72    [NotEnumerable] attribute EventListener onbeforecut;
73    [NotEnumerable] attribute EventListener oncut;
74    [NotEnumerable] attribute EventListener onbeforecopy;
75    [NotEnumerable] attribute EventListener oncopy;
76    [NotEnumerable] attribute EventListener onbeforepaste;
77    [NotEnumerable] attribute EventListener onpaste;
78    [NotEnumerable] attribute EventListener ondragenter;
79    [NotEnumerable] attribute EventListener ondragover;
80    [NotEnumerable] attribute EventListener ondragleave;
81    [NotEnumerable] attribute EventListener ondrop;
82    [NotEnumerable] attribute EventListener ondragstart;
83    [NotEnumerable] attribute EventListener ondrag;
84    [NotEnumerable] attribute EventListener ondragend;
85    [NotEnumerable] attribute EventListener onreset;
86    [NotEnumerable] attribute EventListener onresize;
87    [NotEnumerable] attribute EventListener onscroll;
88    [NotEnumerable] attribute EventListener onsearch;
89    [NotEnumerable] attribute EventListener onselect;
90    [NotEnumerable] attribute EventListener onselectstart;
91    [NotEnumerable] attribute EventListener onsubmit;
92    [NotEnumerable] attribute EventListener onunload;
93#endif /* defined(LANGUAGE_OBJECTIVE_C) */
94};
95