1/*
2 This file is part of the WebKit open source project.
3 This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include "config.h"
22#include "JSSVGElement.h"
23
24#include "EventNames.h"
25#include "JSCSSStyleDeclaration.h"
26#include "JSDOMAttribute.h"
27#include "JSDOMBinding.h"
28#include "JSDOMConstructorNotConstructable.h"
29#include "JSDOMConvertInterface.h"
30#include "JSDOMConvertNumbers.h"
31#include "JSDOMConvertStrings.h"
32#include "JSDOMExceptionHandling.h"
33#include "JSDOMGlobalObject.h"
34#include "JSDOMOperation.h"
35#include "JSDOMStringMap.h"
36#include "JSDOMWrapperCache.h"
37#include "JSDeprecatedCSSOMValue.h"
38#include "JSEventListener.h"
39#include "JSSVGAnimatedString.h"
40#include "JSSVGElement.h"
41#include "JSSVGSVGElement.h"
42#include "RuntimeEnabledFeatures.h"
43#include "ScriptExecutionContext.h"
44#include <JavaScriptCore/HeapSnapshotBuilder.h>
45#include <JavaScriptCore/JSCInlines.h>
46#include <wtf/GetPtr.h>
47#include <wtf/PointerPreparations.h>
48#include <wtf/URL.h>
49
50#if ENABLE(CSS_TYPED_OM)
51#include "JSStylePropertyMap.h"
52#endif
53
54
55namespace WebCore {
56using namespace JSC;
57
58// Functions
59
60JSC::EncodedJSValue JSC_HOST_CALL jsSVGElementPrototypeFunctionGetPresentationAttribute(JSC::ExecState*);
61JSC::EncodedJSValue JSC_HOST_CALL jsSVGElementPrototypeFunctionFocus(JSC::ExecState*);
62JSC::EncodedJSValue JSC_HOST_CALL jsSVGElementPrototypeFunctionBlur(JSC::ExecState*);
63
64// Attributes
65
66JSC::EncodedJSValue jsSVGElementConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
67bool setJSSVGElementConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
68JSC::EncodedJSValue jsSVGElementOwnerSVGElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
69JSC::EncodedJSValue jsSVGElementViewportElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
70JSC::EncodedJSValue jsSVGElementXmllang(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
71bool setJSSVGElementXmllang(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
72JSC::EncodedJSValue jsSVGElementXmlspace(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
73bool setJSSVGElementXmlspace(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
74JSC::EncodedJSValue jsSVGElementClassName(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
75JSC::EncodedJSValue jsSVGElementTabIndex(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
76bool setJSSVGElementTabIndex(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
77JSC::EncodedJSValue jsSVGElementDataset(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
78JSC::EncodedJSValue jsSVGElementStyle(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
79bool setJSSVGElementStyle(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
80#if ENABLE(CSS_TYPED_OM)
81JSC::EncodedJSValue jsSVGElementAttributeStyleMap(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
82#endif
83JSC::EncodedJSValue jsSVGElementOnabort(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
84bool setJSSVGElementOnabort(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
85JSC::EncodedJSValue jsSVGElementOnblur(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
86bool setJSSVGElementOnblur(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
87JSC::EncodedJSValue jsSVGElementOncanplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
88bool setJSSVGElementOncanplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
89JSC::EncodedJSValue jsSVGElementOncanplaythrough(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
90bool setJSSVGElementOncanplaythrough(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
91JSC::EncodedJSValue jsSVGElementOnchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
92bool setJSSVGElementOnchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
93JSC::EncodedJSValue jsSVGElementOnclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
94bool setJSSVGElementOnclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
95JSC::EncodedJSValue jsSVGElementOncontextmenu(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
96bool setJSSVGElementOncontextmenu(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
97JSC::EncodedJSValue jsSVGElementOncuechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
98bool setJSSVGElementOncuechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
99JSC::EncodedJSValue jsSVGElementOndblclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
100bool setJSSVGElementOndblclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
101JSC::EncodedJSValue jsSVGElementOndrag(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
102bool setJSSVGElementOndrag(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
103JSC::EncodedJSValue jsSVGElementOndragend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
104bool setJSSVGElementOndragend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
105JSC::EncodedJSValue jsSVGElementOndragenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
106bool setJSSVGElementOndragenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
107JSC::EncodedJSValue jsSVGElementOndragleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
108bool setJSSVGElementOndragleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
109JSC::EncodedJSValue jsSVGElementOndragover(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
110bool setJSSVGElementOndragover(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
111JSC::EncodedJSValue jsSVGElementOndragstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
112bool setJSSVGElementOndragstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
113JSC::EncodedJSValue jsSVGElementOndrop(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
114bool setJSSVGElementOndrop(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
115JSC::EncodedJSValue jsSVGElementOndurationchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
116bool setJSSVGElementOndurationchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
117JSC::EncodedJSValue jsSVGElementOnemptied(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
118bool setJSSVGElementOnemptied(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
119JSC::EncodedJSValue jsSVGElementOnended(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
120bool setJSSVGElementOnended(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
121JSC::EncodedJSValue jsSVGElementOnerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
122bool setJSSVGElementOnerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
123JSC::EncodedJSValue jsSVGElementOnfocus(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
124bool setJSSVGElementOnfocus(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
125JSC::EncodedJSValue jsSVGElementOninput(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
126bool setJSSVGElementOninput(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
127JSC::EncodedJSValue jsSVGElementOninvalid(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
128bool setJSSVGElementOninvalid(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
129JSC::EncodedJSValue jsSVGElementOnkeydown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
130bool setJSSVGElementOnkeydown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
131JSC::EncodedJSValue jsSVGElementOnkeypress(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
132bool setJSSVGElementOnkeypress(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
133JSC::EncodedJSValue jsSVGElementOnkeyup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
134bool setJSSVGElementOnkeyup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
135JSC::EncodedJSValue jsSVGElementOnload(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
136bool setJSSVGElementOnload(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
137JSC::EncodedJSValue jsSVGElementOnloadeddata(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
138bool setJSSVGElementOnloadeddata(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
139JSC::EncodedJSValue jsSVGElementOnloadedmetadata(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
140bool setJSSVGElementOnloadedmetadata(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
141JSC::EncodedJSValue jsSVGElementOnloadstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
142bool setJSSVGElementOnloadstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
143JSC::EncodedJSValue jsSVGElementOnmousedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
144bool setJSSVGElementOnmousedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
145JSC::EncodedJSValue jsSVGElementOnmouseenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
146bool setJSSVGElementOnmouseenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
147JSC::EncodedJSValue jsSVGElementOnmouseleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
148bool setJSSVGElementOnmouseleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
149JSC::EncodedJSValue jsSVGElementOnmousemove(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
150bool setJSSVGElementOnmousemove(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
151JSC::EncodedJSValue jsSVGElementOnmouseout(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
152bool setJSSVGElementOnmouseout(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
153JSC::EncodedJSValue jsSVGElementOnmouseover(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
154bool setJSSVGElementOnmouseover(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
155JSC::EncodedJSValue jsSVGElementOnmouseup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
156bool setJSSVGElementOnmouseup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
157JSC::EncodedJSValue jsSVGElementOnmousewheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
158bool setJSSVGElementOnmousewheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
159JSC::EncodedJSValue jsSVGElementOnpause(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
160bool setJSSVGElementOnpause(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
161JSC::EncodedJSValue jsSVGElementOnplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
162bool setJSSVGElementOnplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
163JSC::EncodedJSValue jsSVGElementOnplaying(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
164bool setJSSVGElementOnplaying(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
165JSC::EncodedJSValue jsSVGElementOnprogress(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
166bool setJSSVGElementOnprogress(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
167JSC::EncodedJSValue jsSVGElementOnratechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
168bool setJSSVGElementOnratechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
169JSC::EncodedJSValue jsSVGElementOnrejectionhandled(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
170bool setJSSVGElementOnrejectionhandled(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
171JSC::EncodedJSValue jsSVGElementOnreset(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
172bool setJSSVGElementOnreset(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
173JSC::EncodedJSValue jsSVGElementOnresize(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
174bool setJSSVGElementOnresize(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
175JSC::EncodedJSValue jsSVGElementOnscroll(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
176bool setJSSVGElementOnscroll(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
177JSC::EncodedJSValue jsSVGElementOnseeked(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
178bool setJSSVGElementOnseeked(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
179JSC::EncodedJSValue jsSVGElementOnseeking(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
180bool setJSSVGElementOnseeking(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
181JSC::EncodedJSValue jsSVGElementOnselect(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
182bool setJSSVGElementOnselect(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
183JSC::EncodedJSValue jsSVGElementOnstalled(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
184bool setJSSVGElementOnstalled(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
185JSC::EncodedJSValue jsSVGElementOnsubmit(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
186bool setJSSVGElementOnsubmit(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
187JSC::EncodedJSValue jsSVGElementOnsuspend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
188bool setJSSVGElementOnsuspend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
189JSC::EncodedJSValue jsSVGElementOntimeupdate(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
190bool setJSSVGElementOntimeupdate(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
191JSC::EncodedJSValue jsSVGElementOntoggle(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
192bool setJSSVGElementOntoggle(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
193JSC::EncodedJSValue jsSVGElementOnunhandledrejection(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
194bool setJSSVGElementOnunhandledrejection(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
195JSC::EncodedJSValue jsSVGElementOnvolumechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
196bool setJSSVGElementOnvolumechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
197JSC::EncodedJSValue jsSVGElementOnwaiting(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
198bool setJSSVGElementOnwaiting(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
199JSC::EncodedJSValue jsSVGElementOntransitionend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
200bool setJSSVGElementOntransitionend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
201JSC::EncodedJSValue jsSVGElementOntransitionrun(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
202bool setJSSVGElementOntransitionrun(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
203JSC::EncodedJSValue jsSVGElementOntransitionstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
204bool setJSSVGElementOntransitionstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
205JSC::EncodedJSValue jsSVGElementOntransitioncancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
206bool setJSSVGElementOntransitioncancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
207JSC::EncodedJSValue jsSVGElementOnanimationend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
208bool setJSSVGElementOnanimationend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
209JSC::EncodedJSValue jsSVGElementOnanimationiteration(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
210bool setJSSVGElementOnanimationiteration(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
211JSC::EncodedJSValue jsSVGElementOnanimationstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
212bool setJSSVGElementOnanimationstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
213JSC::EncodedJSValue jsSVGElementOnanimationcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
214bool setJSSVGElementOnanimationcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
215JSC::EncodedJSValue jsSVGElementOngotpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
216bool setJSSVGElementOngotpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
217JSC::EncodedJSValue jsSVGElementOnlostpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
218bool setJSSVGElementOnlostpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
219JSC::EncodedJSValue jsSVGElementOnpointerdown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
220bool setJSSVGElementOnpointerdown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
221JSC::EncodedJSValue jsSVGElementOnpointermove(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
222bool setJSSVGElementOnpointermove(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
223JSC::EncodedJSValue jsSVGElementOnpointerup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
224bool setJSSVGElementOnpointerup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
225JSC::EncodedJSValue jsSVGElementOnpointercancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
226bool setJSSVGElementOnpointercancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
227JSC::EncodedJSValue jsSVGElementOnpointerover(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
228bool setJSSVGElementOnpointerover(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
229JSC::EncodedJSValue jsSVGElementOnpointerout(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
230bool setJSSVGElementOnpointerout(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
231JSC::EncodedJSValue jsSVGElementOnpointerenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
232bool setJSSVGElementOnpointerenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
233JSC::EncodedJSValue jsSVGElementOnpointerleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
234bool setJSSVGElementOnpointerleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
235JSC::EncodedJSValue jsSVGElementOnsearch(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
236bool setJSSVGElementOnsearch(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
237JSC::EncodedJSValue jsSVGElementOnwheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
238bool setJSSVGElementOnwheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
239#if ENABLE(TOUCH_EVENTS)
240JSC::EncodedJSValue jsSVGElementOntouchcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
241bool setJSSVGElementOntouchcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
242#endif
243#if ENABLE(TOUCH_EVENTS)
244JSC::EncodedJSValue jsSVGElementOntouchend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
245bool setJSSVGElementOntouchend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
246#endif
247#if ENABLE(TOUCH_EVENTS)
248JSC::EncodedJSValue jsSVGElementOntouchmove(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
249bool setJSSVGElementOntouchmove(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
250#endif
251#if ENABLE(TOUCH_EVENTS)
252JSC::EncodedJSValue jsSVGElementOntouchstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
253bool setJSSVGElementOntouchstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
254#endif
255#if ENABLE(TOUCH_EVENTS)
256JSC::EncodedJSValue jsSVGElementOntouchforcechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
257bool setJSSVGElementOntouchforcechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
258#endif
259#if ENABLE(MOUSE_FORCE_EVENTS)
260JSC::EncodedJSValue jsSVGElementOnwebkitmouseforcechanged(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
261bool setJSSVGElementOnwebkitmouseforcechanged(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
262#endif
263#if ENABLE(MOUSE_FORCE_EVENTS)
264JSC::EncodedJSValue jsSVGElementOnwebkitmouseforcedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
265bool setJSSVGElementOnwebkitmouseforcedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
266#endif
267#if ENABLE(MOUSE_FORCE_EVENTS)
268JSC::EncodedJSValue jsSVGElementOnwebkitmouseforcewillbegin(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
269bool setJSSVGElementOnwebkitmouseforcewillbegin(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
270#endif
271#if ENABLE(MOUSE_FORCE_EVENTS)
272JSC::EncodedJSValue jsSVGElementOnwebkitmouseforceup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
273bool setJSSVGElementOnwebkitmouseforceup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
274#endif
275
276class JSSVGElementPrototype : public JSC::JSNonFinalObject {
277public:
278 using Base = JSC::JSNonFinalObject;
279 static JSSVGElementPrototype* create(JSC::VM& vm, JSDOMGlobalObject* globalObject, JSC::Structure* structure)
280 {
281 JSSVGElementPrototype* ptr = new (NotNull, JSC::allocateCell<JSSVGElementPrototype>(vm.heap)) JSSVGElementPrototype(vm, globalObject, structure);
282 ptr->finishCreation(vm);
283 return ptr;
284 }
285
286 DECLARE_INFO;
287 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
288 {
289 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
290 }
291
292private:
293 JSSVGElementPrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
294 : JSC::JSNonFinalObject(vm, structure)
295 {
296 }
297
298 void finishCreation(JSC::VM&);
299};
300
301using JSSVGElementConstructor = JSDOMConstructorNotConstructable<JSSVGElement>;
302
303template<> JSValue JSSVGElementConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
304{
305 return JSElement::getConstructor(vm, &globalObject);
306}
307
308template<> void JSSVGElementConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
309{
310 putDirect(vm, vm.propertyNames->prototype, JSSVGElement::prototype(vm, globalObject), JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
311 putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String("SVGElement"_s)), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
312 putDirect(vm, vm.propertyNames->length, jsNumber(0), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
313}
314
315template<> const ClassInfo JSSVGElementConstructor::s_info = { "SVGElement", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSVGElementConstructor) };
316
317/* Hash table for prototype */
318
319static const HashTableValue JSSVGElementPrototypeTableValues[] =
320{
321 { "constructor", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementConstructor) } },
322 { "ownerSVGElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOwnerSVGElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
323 { "viewportElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementViewportElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
324 { "xmllang", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementXmllang), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementXmllang) } },
325 { "xmlspace", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementXmlspace), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementXmlspace) } },
326 { "className", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementClassName), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
327 { "tabIndex", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementTabIndex), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementTabIndex) } },
328 { "dataset", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementDataset), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
329 { "style", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementStyle), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementStyle) } },
330#if ENABLE(CSS_TYPED_OM)
331 { "attributeStyleMap", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementAttributeStyleMap), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
332#else
333 { 0, 0, NoIntrinsic, { 0, 0 } },
334#endif
335 { "onabort", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnabort), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnabort) } },
336 { "onblur", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnblur), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnblur) } },
337 { "oncanplay", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOncanplay), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOncanplay) } },
338 { "oncanplaythrough", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOncanplaythrough), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOncanplaythrough) } },
339 { "onchange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnchange) } },
340 { "onclick", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnclick), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnclick) } },
341 { "oncontextmenu", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOncontextmenu), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOncontextmenu) } },
342 { "oncuechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOncuechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOncuechange) } },
343 { "ondblclick", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndblclick), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndblclick) } },
344 { "ondrag", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndrag), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndrag) } },
345 { "ondragend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndragend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndragend) } },
346 { "ondragenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndragenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndragenter) } },
347 { "ondragleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndragleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndragleave) } },
348 { "ondragover", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndragover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndragover) } },
349 { "ondragstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndragstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndragstart) } },
350 { "ondrop", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndrop), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndrop) } },
351 { "ondurationchange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOndurationchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOndurationchange) } },
352 { "onemptied", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnemptied), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnemptied) } },
353 { "onended", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnended), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnended) } },
354 { "onerror", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnerror) } },
355 { "onfocus", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnfocus), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnfocus) } },
356 { "oninput", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOninput), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOninput) } },
357 { "oninvalid", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOninvalid), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOninvalid) } },
358 { "onkeydown", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnkeydown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnkeydown) } },
359 { "onkeypress", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnkeypress), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnkeypress) } },
360 { "onkeyup", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnkeyup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnkeyup) } },
361 { "onload", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnload), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnload) } },
362 { "onloadeddata", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnloadeddata), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnloadeddata) } },
363 { "onloadedmetadata", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnloadedmetadata), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnloadedmetadata) } },
364 { "onloadstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnloadstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnloadstart) } },
365 { "onmousedown", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmousedown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmousedown) } },
366 { "onmouseenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmouseenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmouseenter) } },
367 { "onmouseleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmouseleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmouseleave) } },
368 { "onmousemove", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmousemove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmousemove) } },
369 { "onmouseout", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmouseout), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmouseout) } },
370 { "onmouseover", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmouseover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmouseover) } },
371 { "onmouseup", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmouseup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmouseup) } },
372 { "onmousewheel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnmousewheel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnmousewheel) } },
373 { "onpause", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpause), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpause) } },
374 { "onplay", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnplay), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnplay) } },
375 { "onplaying", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnplaying), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnplaying) } },
376 { "onprogress", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnprogress), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnprogress) } },
377 { "onratechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnratechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnratechange) } },
378 { "onrejectionhandled", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnrejectionhandled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnrejectionhandled) } },
379 { "onreset", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnreset), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnreset) } },
380 { "onresize", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnresize), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnresize) } },
381 { "onscroll", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnscroll), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnscroll) } },
382 { "onseeked", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnseeked), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnseeked) } },
383 { "onseeking", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnseeking), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnseeking) } },
384 { "onselect", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnselect), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnselect) } },
385 { "onstalled", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnstalled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnstalled) } },
386 { "onsubmit", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnsubmit), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnsubmit) } },
387 { "onsuspend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnsuspend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnsuspend) } },
388 { "ontimeupdate", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntimeupdate), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntimeupdate) } },
389 { "ontoggle", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntoggle), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntoggle) } },
390 { "onunhandledrejection", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnunhandledrejection), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnunhandledrejection) } },
391 { "onvolumechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnvolumechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnvolumechange) } },
392 { "onwaiting", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnwaiting), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnwaiting) } },
393 { "ontransitionend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntransitionend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntransitionend) } },
394 { "ontransitionrun", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntransitionrun), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntransitionrun) } },
395 { "ontransitionstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntransitionstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntransitionstart) } },
396 { "ontransitioncancel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntransitioncancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntransitioncancel) } },
397 { "onanimationend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnanimationend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnanimationend) } },
398 { "onanimationiteration", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnanimationiteration), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnanimationiteration) } },
399 { "onanimationstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnanimationstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnanimationstart) } },
400 { "onanimationcancel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnanimationcancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnanimationcancel) } },
401 { "ongotpointercapture", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOngotpointercapture), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOngotpointercapture) } },
402 { "onlostpointercapture", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnlostpointercapture), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnlostpointercapture) } },
403 { "onpointerdown", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointerdown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointerdown) } },
404 { "onpointermove", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointermove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointermove) } },
405 { "onpointerup", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointerup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointerup) } },
406 { "onpointercancel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointercancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointercancel) } },
407 { "onpointerover", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointerover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointerover) } },
408 { "onpointerout", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointerout), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointerout) } },
409 { "onpointerenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointerenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointerenter) } },
410 { "onpointerleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnpointerleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnpointerleave) } },
411 { "onsearch", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnsearch), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnsearch) } },
412 { "onwheel", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnwheel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnwheel) } },
413#if ENABLE(TOUCH_EVENTS)
414 { "ontouchcancel", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntouchcancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntouchcancel) } },
415#else
416 { 0, 0, NoIntrinsic, { 0, 0 } },
417#endif
418#if ENABLE(TOUCH_EVENTS)
419 { "ontouchend", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntouchend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntouchend) } },
420#else
421 { 0, 0, NoIntrinsic, { 0, 0 } },
422#endif
423#if ENABLE(TOUCH_EVENTS)
424 { "ontouchmove", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntouchmove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntouchmove) } },
425#else
426 { 0, 0, NoIntrinsic, { 0, 0 } },
427#endif
428#if ENABLE(TOUCH_EVENTS)
429 { "ontouchstart", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntouchstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntouchstart) } },
430#else
431 { 0, 0, NoIntrinsic, { 0, 0 } },
432#endif
433#if ENABLE(TOUCH_EVENTS)
434 { "ontouchforcechange", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOntouchforcechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOntouchforcechange) } },
435#else
436 { 0, 0, NoIntrinsic, { 0, 0 } },
437#endif
438#if ENABLE(MOUSE_FORCE_EVENTS)
439 { "onwebkitmouseforcechanged", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnwebkitmouseforcechanged), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnwebkitmouseforcechanged) } },
440#else
441 { 0, 0, NoIntrinsic, { 0, 0 } },
442#endif
443#if ENABLE(MOUSE_FORCE_EVENTS)
444 { "onwebkitmouseforcedown", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnwebkitmouseforcedown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnwebkitmouseforcedown) } },
445#else
446 { 0, 0, NoIntrinsic, { 0, 0 } },
447#endif
448#if ENABLE(MOUSE_FORCE_EVENTS)
449 { "onwebkitmouseforcewillbegin", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnwebkitmouseforcewillbegin), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnwebkitmouseforcewillbegin) } },
450#else
451 { 0, 0, NoIntrinsic, { 0, 0 } },
452#endif
453#if ENABLE(MOUSE_FORCE_EVENTS)
454 { "onwebkitmouseforceup", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsSVGElementOnwebkitmouseforceup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSSVGElementOnwebkitmouseforceup) } },
455#else
456 { 0, 0, NoIntrinsic, { 0, 0 } },
457#endif
458 { "getPresentationAttribute", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsSVGElementPrototypeFunctionGetPresentationAttribute), (intptr_t) (0) } },
459 { "focus", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsSVGElementPrototypeFunctionFocus), (intptr_t) (0) } },
460 { "blur", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsSVGElementPrototypeFunctionBlur), (intptr_t) (0) } },
461};
462
463const ClassInfo JSSVGElementPrototype::s_info = { "SVGElementPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSVGElementPrototype) };
464
465void JSSVGElementPrototype::finishCreation(VM& vm)
466{
467 Base::finishCreation(vm);
468 reifyStaticProperties(vm, JSSVGElement::info(), JSSVGElementPrototypeTableValues, *this);
469 bool hasDisabledRuntimeProperties = false;
470#if ENABLE(CSS_TYPED_OM)
471 if (!RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled()) {
472 hasDisabledRuntimeProperties = true;
473 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("attributeStyleMap"), strlen("attributeStyleMap"));
474 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
475 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
476 }
477#endif
478 if (hasDisabledRuntimeProperties && structure()->isDictionary())
479 flattenDictionaryObject(vm);
480}
481
482const ClassInfo JSSVGElement::s_info = { "SVGElement", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSVGElement) };
483
484JSSVGElement::JSSVGElement(Structure* structure, JSDOMGlobalObject& globalObject, Ref<SVGElement>&& impl)
485 : JSElement(structure, globalObject, WTFMove(impl))
486{
487}
488
489void JSSVGElement::finishCreation(VM& vm)
490{
491 Base::finishCreation(vm);
492 ASSERT(inherits(vm, info()));
493
494}
495
496JSObject* JSSVGElement::createPrototype(VM& vm, JSDOMGlobalObject& globalObject)
497{
498 return JSSVGElementPrototype::create(vm, &globalObject, JSSVGElementPrototype::createStructure(vm, &globalObject, JSElement::prototype(vm, globalObject)));
499}
500
501JSObject* JSSVGElement::prototype(VM& vm, JSDOMGlobalObject& globalObject)
502{
503 return getDOMPrototype<JSSVGElement>(vm, globalObject);
504}
505
506JSValue JSSVGElement::getConstructor(VM& vm, const JSGlobalObject* globalObject)
507{
508 return getDOMConstructor<JSSVGElementConstructor>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));
509}
510
511template<> inline JSSVGElement* IDLAttribute<JSSVGElement>::cast(ExecState& state, EncodedJSValue thisValue)
512{
513 return jsDynamicCast<JSSVGElement*>(state.vm(), JSValue::decode(thisValue));
514}
515
516template<> inline JSSVGElement* IDLOperation<JSSVGElement>::cast(ExecState& state)
517{
518 return jsDynamicCast<JSSVGElement*>(state.vm(), state.thisValue());
519}
520
521EncodedJSValue jsSVGElementConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
522{
523 VM& vm = state->vm();
524 auto throwScope = DECLARE_THROW_SCOPE(vm);
525 auto* prototype = jsDynamicCast<JSSVGElementPrototype*>(vm, JSValue::decode(thisValue));
526 if (UNLIKELY(!prototype))
527 return throwVMTypeError(state, throwScope);
528 return JSValue::encode(JSSVGElement::getConstructor(state->vm(), prototype->globalObject()));
529}
530
531bool setJSSVGElementConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
532{
533 VM& vm = state->vm();
534 auto throwScope = DECLARE_THROW_SCOPE(vm);
535 auto* prototype = jsDynamicCast<JSSVGElementPrototype*>(vm, JSValue::decode(thisValue));
536 if (UNLIKELY(!prototype)) {
537 throwVMTypeError(state, throwScope);
538 return false;
539 }
540 // Shadowing a built-in constructor
541 return prototype->putDirect(vm, vm.propertyNames->constructor, JSValue::decode(encodedValue));
542}
543
544static inline JSValue jsSVGElementOwnerSVGElementGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
545{
546 UNUSED_PARAM(throwScope);
547 UNUSED_PARAM(state);
548 auto& impl = thisObject.wrapped();
549 JSValue result = toJS<IDLInterface<SVGSVGElement>>(state, *thisObject.globalObject(), throwScope, impl.ownerSVGElement());
550 return result;
551}
552
553EncodedJSValue jsSVGElementOwnerSVGElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
554{
555 return IDLAttribute<JSSVGElement>::get<jsSVGElementOwnerSVGElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ownerSVGElement");
556}
557
558static inline JSValue jsSVGElementViewportElementGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
559{
560 UNUSED_PARAM(throwScope);
561 UNUSED_PARAM(state);
562 auto& impl = thisObject.wrapped();
563 JSValue result = toJS<IDLInterface<SVGElement>>(state, *thisObject.globalObject(), throwScope, impl.viewportElement());
564 return result;
565}
566
567EncodedJSValue jsSVGElementViewportElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
568{
569 return IDLAttribute<JSSVGElement>::get<jsSVGElementViewportElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "viewportElement");
570}
571
572static inline JSValue jsSVGElementXmllangGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
573{
574 UNUSED_PARAM(throwScope);
575 UNUSED_PARAM(state);
576 auto& impl = thisObject.wrapped();
577 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.xmllang());
578 return result;
579}
580
581EncodedJSValue jsSVGElementXmllang(ExecState* state, EncodedJSValue thisValue, PropertyName)
582{
583 return IDLAttribute<JSSVGElement>::get<jsSVGElementXmllangGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "xmllang");
584}
585
586static inline bool setJSSVGElementXmllangSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
587{
588 UNUSED_PARAM(throwScope);
589 auto& impl = thisObject.wrapped();
590 auto nativeValue = convert<IDLDOMString>(state, value);
591 RETURN_IF_EXCEPTION(throwScope, false);
592 AttributeSetter::call(state, throwScope, [&] {
593 return impl.setXmllang(WTFMove(nativeValue));
594 });
595 return true;
596}
597
598bool setJSSVGElementXmllang(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
599{
600 return IDLAttribute<JSSVGElement>::set<setJSSVGElementXmllangSetter>(*state, thisValue, encodedValue, "xmllang");
601}
602
603static inline JSValue jsSVGElementXmlspaceGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
604{
605 UNUSED_PARAM(throwScope);
606 UNUSED_PARAM(state);
607 auto& impl = thisObject.wrapped();
608 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.xmlspace());
609 return result;
610}
611
612EncodedJSValue jsSVGElementXmlspace(ExecState* state, EncodedJSValue thisValue, PropertyName)
613{
614 return IDLAttribute<JSSVGElement>::get<jsSVGElementXmlspaceGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "xmlspace");
615}
616
617static inline bool setJSSVGElementXmlspaceSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
618{
619 UNUSED_PARAM(throwScope);
620 auto& impl = thisObject.wrapped();
621 auto nativeValue = convert<IDLDOMString>(state, value);
622 RETURN_IF_EXCEPTION(throwScope, false);
623 AttributeSetter::call(state, throwScope, [&] {
624 return impl.setXmlspace(WTFMove(nativeValue));
625 });
626 return true;
627}
628
629bool setJSSVGElementXmlspace(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
630{
631 return IDLAttribute<JSSVGElement>::set<setJSSVGElementXmlspaceSetter>(*state, thisValue, encodedValue, "xmlspace");
632}
633
634static inline JSValue jsSVGElementClassNameGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
635{
636 UNUSED_PARAM(throwScope);
637 UNUSED_PARAM(state);
638 auto& impl = thisObject.wrapped();
639 JSValue result = toJS<IDLInterface<SVGAnimatedString>>(state, *thisObject.globalObject(), throwScope, impl.classNameAnimated());
640 return result;
641}
642
643EncodedJSValue jsSVGElementClassName(ExecState* state, EncodedJSValue thisValue, PropertyName)
644{
645 return IDLAttribute<JSSVGElement>::get<jsSVGElementClassNameGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "className");
646}
647
648static inline JSValue jsSVGElementTabIndexGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
649{
650 UNUSED_PARAM(throwScope);
651 UNUSED_PARAM(state);
652 auto& impl = thisObject.wrapped();
653 JSValue result = toJS<IDLLong>(state, throwScope, impl.tabIndex());
654 return result;
655}
656
657EncodedJSValue jsSVGElementTabIndex(ExecState* state, EncodedJSValue thisValue, PropertyName)
658{
659 return IDLAttribute<JSSVGElement>::get<jsSVGElementTabIndexGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "tabIndex");
660}
661
662static inline bool setJSSVGElementTabIndexSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
663{
664 UNUSED_PARAM(throwScope);
665 auto& impl = thisObject.wrapped();
666 auto nativeValue = convert<IDLLong>(state, value);
667 RETURN_IF_EXCEPTION(throwScope, false);
668 AttributeSetter::call(state, throwScope, [&] {
669 return impl.setTabIndex(WTFMove(nativeValue));
670 });
671 return true;
672}
673
674bool setJSSVGElementTabIndex(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
675{
676 return IDLAttribute<JSSVGElement>::set<setJSSVGElementTabIndexSetter>(*state, thisValue, encodedValue, "tabIndex");
677}
678
679static inline JSValue jsSVGElementDatasetGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
680{
681 UNUSED_PARAM(throwScope);
682 UNUSED_PARAM(state);
683 auto& impl = thisObject.wrapped();
684 JSValue result = toJS<IDLInterface<DOMStringMap>>(state, *thisObject.globalObject(), throwScope, impl.dataset());
685 return result;
686}
687
688EncodedJSValue jsSVGElementDataset(ExecState* state, EncodedJSValue thisValue, PropertyName)
689{
690 return IDLAttribute<JSSVGElement>::get<jsSVGElementDatasetGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "dataset");
691}
692
693static inline JSValue jsSVGElementStyleGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
694{
695 UNUSED_PARAM(throwScope);
696 UNUSED_PARAM(state);
697 auto& impl = thisObject.wrapped();
698 JSValue result = toJS<IDLInterface<CSSStyleDeclaration>>(state, *thisObject.globalObject(), throwScope, impl.cssomStyle());
699 return result;
700}
701
702EncodedJSValue jsSVGElementStyle(ExecState* state, EncodedJSValue thisValue, PropertyName)
703{
704 return IDLAttribute<JSSVGElement>::get<jsSVGElementStyleGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "style");
705}
706
707static inline bool setJSSVGElementStyleSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
708{
709 UNUSED_PARAM(throwScope);
710 auto id = Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("style"), strlen("style"));
711 auto valueToForwardTo = thisObject.get(&state, id);
712 RETURN_IF_EXCEPTION(throwScope, false);
713 if (UNLIKELY(!valueToForwardTo.isObject())) {
714 throwTypeError(&state, throwScope);
715 return false;
716 }
717 auto forwardId = Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("cssText"), strlen("cssText"));
718 PutPropertySlot slot(valueToForwardTo, false);
719 asObject(valueToForwardTo)->methodTable(state.vm())->put(asObject(valueToForwardTo), &state, forwardId, value, slot);
720 RETURN_IF_EXCEPTION(throwScope, false);
721 return true;
722}
723
724bool setJSSVGElementStyle(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
725{
726 return IDLAttribute<JSSVGElement>::set<setJSSVGElementStyleSetter>(*state, thisValue, encodedValue, "style");
727}
728
729#if ENABLE(CSS_TYPED_OM)
730static inline JSValue jsSVGElementAttributeStyleMapGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
731{
732 UNUSED_PARAM(throwScope);
733 UNUSED_PARAM(state);
734 if (JSValue cachedValue = thisObject.m_attributeStyleMap.get())
735 return cachedValue;
736 auto& impl = thisObject.wrapped();
737 JSValue result = toJS<IDLInterface<StylePropertyMap>>(state, *thisObject.globalObject(), throwScope, impl.ensureAttributeStyleMap());
738 thisObject.m_attributeStyleMap.set(state.vm(), &thisObject, result);
739 return result;
740}
741
742EncodedJSValue jsSVGElementAttributeStyleMap(ExecState* state, EncodedJSValue thisValue, PropertyName)
743{
744 return IDLAttribute<JSSVGElement>::get<jsSVGElementAttributeStyleMapGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "attributeStyleMap");
745}
746
747#endif
748
749static inline JSValue jsSVGElementOnabortGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
750{
751 UNUSED_PARAM(throwScope);
752 UNUSED_PARAM(state);
753 return eventHandlerAttribute(thisObject.wrapped(), eventNames().abortEvent, worldForDOMObject(thisObject));
754}
755
756EncodedJSValue jsSVGElementOnabort(ExecState* state, EncodedJSValue thisValue, PropertyName)
757{
758 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnabortGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onabort");
759}
760
761static inline bool setJSSVGElementOnabortSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
762{
763 UNUSED_PARAM(throwScope);
764 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().abortEvent, value);
765 return true;
766}
767
768bool setJSSVGElementOnabort(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
769{
770 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnabortSetter>(*state, thisValue, encodedValue, "onabort");
771}
772
773static inline JSValue jsSVGElementOnblurGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
774{
775 UNUSED_PARAM(throwScope);
776 UNUSED_PARAM(state);
777 return eventHandlerAttribute(thisObject.wrapped(), eventNames().blurEvent, worldForDOMObject(thisObject));
778}
779
780EncodedJSValue jsSVGElementOnblur(ExecState* state, EncodedJSValue thisValue, PropertyName)
781{
782 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnblurGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onblur");
783}
784
785static inline bool setJSSVGElementOnblurSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
786{
787 UNUSED_PARAM(throwScope);
788 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().blurEvent, value);
789 return true;
790}
791
792bool setJSSVGElementOnblur(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
793{
794 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnblurSetter>(*state, thisValue, encodedValue, "onblur");
795}
796
797static inline JSValue jsSVGElementOncanplayGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
798{
799 UNUSED_PARAM(throwScope);
800 UNUSED_PARAM(state);
801 return eventHandlerAttribute(thisObject.wrapped(), eventNames().canplayEvent, worldForDOMObject(thisObject));
802}
803
804EncodedJSValue jsSVGElementOncanplay(ExecState* state, EncodedJSValue thisValue, PropertyName)
805{
806 return IDLAttribute<JSSVGElement>::get<jsSVGElementOncanplayGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncanplay");
807}
808
809static inline bool setJSSVGElementOncanplaySetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
810{
811 UNUSED_PARAM(throwScope);
812 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().canplayEvent, value);
813 return true;
814}
815
816bool setJSSVGElementOncanplay(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
817{
818 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOncanplaySetter>(*state, thisValue, encodedValue, "oncanplay");
819}
820
821static inline JSValue jsSVGElementOncanplaythroughGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
822{
823 UNUSED_PARAM(throwScope);
824 UNUSED_PARAM(state);
825 return eventHandlerAttribute(thisObject.wrapped(), eventNames().canplaythroughEvent, worldForDOMObject(thisObject));
826}
827
828EncodedJSValue jsSVGElementOncanplaythrough(ExecState* state, EncodedJSValue thisValue, PropertyName)
829{
830 return IDLAttribute<JSSVGElement>::get<jsSVGElementOncanplaythroughGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncanplaythrough");
831}
832
833static inline bool setJSSVGElementOncanplaythroughSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
834{
835 UNUSED_PARAM(throwScope);
836 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().canplaythroughEvent, value);
837 return true;
838}
839
840bool setJSSVGElementOncanplaythrough(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
841{
842 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOncanplaythroughSetter>(*state, thisValue, encodedValue, "oncanplaythrough");
843}
844
845static inline JSValue jsSVGElementOnchangeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
846{
847 UNUSED_PARAM(throwScope);
848 UNUSED_PARAM(state);
849 return eventHandlerAttribute(thisObject.wrapped(), eventNames().changeEvent, worldForDOMObject(thisObject));
850}
851
852EncodedJSValue jsSVGElementOnchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
853{
854 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onchange");
855}
856
857static inline bool setJSSVGElementOnchangeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
858{
859 UNUSED_PARAM(throwScope);
860 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().changeEvent, value);
861 return true;
862}
863
864bool setJSSVGElementOnchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
865{
866 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnchangeSetter>(*state, thisValue, encodedValue, "onchange");
867}
868
869static inline JSValue jsSVGElementOnclickGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
870{
871 UNUSED_PARAM(throwScope);
872 UNUSED_PARAM(state);
873 return eventHandlerAttribute(thisObject.wrapped(), eventNames().clickEvent, worldForDOMObject(thisObject));
874}
875
876EncodedJSValue jsSVGElementOnclick(ExecState* state, EncodedJSValue thisValue, PropertyName)
877{
878 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnclickGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onclick");
879}
880
881static inline bool setJSSVGElementOnclickSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
882{
883 UNUSED_PARAM(throwScope);
884 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().clickEvent, value);
885 return true;
886}
887
888bool setJSSVGElementOnclick(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
889{
890 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnclickSetter>(*state, thisValue, encodedValue, "onclick");
891}
892
893static inline JSValue jsSVGElementOncontextmenuGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
894{
895 UNUSED_PARAM(throwScope);
896 UNUSED_PARAM(state);
897 return eventHandlerAttribute(thisObject.wrapped(), eventNames().contextmenuEvent, worldForDOMObject(thisObject));
898}
899
900EncodedJSValue jsSVGElementOncontextmenu(ExecState* state, EncodedJSValue thisValue, PropertyName)
901{
902 return IDLAttribute<JSSVGElement>::get<jsSVGElementOncontextmenuGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncontextmenu");
903}
904
905static inline bool setJSSVGElementOncontextmenuSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
906{
907 UNUSED_PARAM(throwScope);
908 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().contextmenuEvent, value);
909 return true;
910}
911
912bool setJSSVGElementOncontextmenu(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
913{
914 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOncontextmenuSetter>(*state, thisValue, encodedValue, "oncontextmenu");
915}
916
917static inline JSValue jsSVGElementOncuechangeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
918{
919 UNUSED_PARAM(throwScope);
920 UNUSED_PARAM(state);
921 return eventHandlerAttribute(thisObject.wrapped(), eventNames().cuechangeEvent, worldForDOMObject(thisObject));
922}
923
924EncodedJSValue jsSVGElementOncuechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
925{
926 return IDLAttribute<JSSVGElement>::get<jsSVGElementOncuechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncuechange");
927}
928
929static inline bool setJSSVGElementOncuechangeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
930{
931 UNUSED_PARAM(throwScope);
932 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().cuechangeEvent, value);
933 return true;
934}
935
936bool setJSSVGElementOncuechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
937{
938 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOncuechangeSetter>(*state, thisValue, encodedValue, "oncuechange");
939}
940
941static inline JSValue jsSVGElementOndblclickGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
942{
943 UNUSED_PARAM(throwScope);
944 UNUSED_PARAM(state);
945 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dblclickEvent, worldForDOMObject(thisObject));
946}
947
948EncodedJSValue jsSVGElementOndblclick(ExecState* state, EncodedJSValue thisValue, PropertyName)
949{
950 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndblclickGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondblclick");
951}
952
953static inline bool setJSSVGElementOndblclickSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
954{
955 UNUSED_PARAM(throwScope);
956 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dblclickEvent, value);
957 return true;
958}
959
960bool setJSSVGElementOndblclick(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
961{
962 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndblclickSetter>(*state, thisValue, encodedValue, "ondblclick");
963}
964
965static inline JSValue jsSVGElementOndragGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
966{
967 UNUSED_PARAM(throwScope);
968 UNUSED_PARAM(state);
969 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragEvent, worldForDOMObject(thisObject));
970}
971
972EncodedJSValue jsSVGElementOndrag(ExecState* state, EncodedJSValue thisValue, PropertyName)
973{
974 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndragGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondrag");
975}
976
977static inline bool setJSSVGElementOndragSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
978{
979 UNUSED_PARAM(throwScope);
980 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragEvent, value);
981 return true;
982}
983
984bool setJSSVGElementOndrag(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
985{
986 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndragSetter>(*state, thisValue, encodedValue, "ondrag");
987}
988
989static inline JSValue jsSVGElementOndragendGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
990{
991 UNUSED_PARAM(throwScope);
992 UNUSED_PARAM(state);
993 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragendEvent, worldForDOMObject(thisObject));
994}
995
996EncodedJSValue jsSVGElementOndragend(ExecState* state, EncodedJSValue thisValue, PropertyName)
997{
998 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndragendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragend");
999}
1000
1001static inline bool setJSSVGElementOndragendSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1002{
1003 UNUSED_PARAM(throwScope);
1004 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragendEvent, value);
1005 return true;
1006}
1007
1008bool setJSSVGElementOndragend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1009{
1010 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndragendSetter>(*state, thisValue, encodedValue, "ondragend");
1011}
1012
1013static inline JSValue jsSVGElementOndragenterGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1014{
1015 UNUSED_PARAM(throwScope);
1016 UNUSED_PARAM(state);
1017 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragenterEvent, worldForDOMObject(thisObject));
1018}
1019
1020EncodedJSValue jsSVGElementOndragenter(ExecState* state, EncodedJSValue thisValue, PropertyName)
1021{
1022 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndragenterGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragenter");
1023}
1024
1025static inline bool setJSSVGElementOndragenterSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1026{
1027 UNUSED_PARAM(throwScope);
1028 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragenterEvent, value);
1029 return true;
1030}
1031
1032bool setJSSVGElementOndragenter(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1033{
1034 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndragenterSetter>(*state, thisValue, encodedValue, "ondragenter");
1035}
1036
1037static inline JSValue jsSVGElementOndragleaveGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1038{
1039 UNUSED_PARAM(throwScope);
1040 UNUSED_PARAM(state);
1041 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragleaveEvent, worldForDOMObject(thisObject));
1042}
1043
1044EncodedJSValue jsSVGElementOndragleave(ExecState* state, EncodedJSValue thisValue, PropertyName)
1045{
1046 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndragleaveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragleave");
1047}
1048
1049static inline bool setJSSVGElementOndragleaveSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1050{
1051 UNUSED_PARAM(throwScope);
1052 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragleaveEvent, value);
1053 return true;
1054}
1055
1056bool setJSSVGElementOndragleave(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1057{
1058 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndragleaveSetter>(*state, thisValue, encodedValue, "ondragleave");
1059}
1060
1061static inline JSValue jsSVGElementOndragoverGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1062{
1063 UNUSED_PARAM(throwScope);
1064 UNUSED_PARAM(state);
1065 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragoverEvent, worldForDOMObject(thisObject));
1066}
1067
1068EncodedJSValue jsSVGElementOndragover(ExecState* state, EncodedJSValue thisValue, PropertyName)
1069{
1070 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndragoverGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragover");
1071}
1072
1073static inline bool setJSSVGElementOndragoverSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1074{
1075 UNUSED_PARAM(throwScope);
1076 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragoverEvent, value);
1077 return true;
1078}
1079
1080bool setJSSVGElementOndragover(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1081{
1082 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndragoverSetter>(*state, thisValue, encodedValue, "ondragover");
1083}
1084
1085static inline JSValue jsSVGElementOndragstartGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1086{
1087 UNUSED_PARAM(throwScope);
1088 UNUSED_PARAM(state);
1089 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragstartEvent, worldForDOMObject(thisObject));
1090}
1091
1092EncodedJSValue jsSVGElementOndragstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
1093{
1094 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndragstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragstart");
1095}
1096
1097static inline bool setJSSVGElementOndragstartSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1098{
1099 UNUSED_PARAM(throwScope);
1100 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragstartEvent, value);
1101 return true;
1102}
1103
1104bool setJSSVGElementOndragstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1105{
1106 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndragstartSetter>(*state, thisValue, encodedValue, "ondragstart");
1107}
1108
1109static inline JSValue jsSVGElementOndropGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1110{
1111 UNUSED_PARAM(throwScope);
1112 UNUSED_PARAM(state);
1113 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dropEvent, worldForDOMObject(thisObject));
1114}
1115
1116EncodedJSValue jsSVGElementOndrop(ExecState* state, EncodedJSValue thisValue, PropertyName)
1117{
1118 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndropGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondrop");
1119}
1120
1121static inline bool setJSSVGElementOndropSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1122{
1123 UNUSED_PARAM(throwScope);
1124 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dropEvent, value);
1125 return true;
1126}
1127
1128bool setJSSVGElementOndrop(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1129{
1130 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndropSetter>(*state, thisValue, encodedValue, "ondrop");
1131}
1132
1133static inline JSValue jsSVGElementOndurationchangeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1134{
1135 UNUSED_PARAM(throwScope);
1136 UNUSED_PARAM(state);
1137 return eventHandlerAttribute(thisObject.wrapped(), eventNames().durationchangeEvent, worldForDOMObject(thisObject));
1138}
1139
1140EncodedJSValue jsSVGElementOndurationchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
1141{
1142 return IDLAttribute<JSSVGElement>::get<jsSVGElementOndurationchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondurationchange");
1143}
1144
1145static inline bool setJSSVGElementOndurationchangeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1146{
1147 UNUSED_PARAM(throwScope);
1148 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().durationchangeEvent, value);
1149 return true;
1150}
1151
1152bool setJSSVGElementOndurationchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1153{
1154 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOndurationchangeSetter>(*state, thisValue, encodedValue, "ondurationchange");
1155}
1156
1157static inline JSValue jsSVGElementOnemptiedGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1158{
1159 UNUSED_PARAM(throwScope);
1160 UNUSED_PARAM(state);
1161 return eventHandlerAttribute(thisObject.wrapped(), eventNames().emptiedEvent, worldForDOMObject(thisObject));
1162}
1163
1164EncodedJSValue jsSVGElementOnemptied(ExecState* state, EncodedJSValue thisValue, PropertyName)
1165{
1166 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnemptiedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onemptied");
1167}
1168
1169static inline bool setJSSVGElementOnemptiedSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1170{
1171 UNUSED_PARAM(throwScope);
1172 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().emptiedEvent, value);
1173 return true;
1174}
1175
1176bool setJSSVGElementOnemptied(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1177{
1178 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnemptiedSetter>(*state, thisValue, encodedValue, "onemptied");
1179}
1180
1181static inline JSValue jsSVGElementOnendedGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1182{
1183 UNUSED_PARAM(throwScope);
1184 UNUSED_PARAM(state);
1185 return eventHandlerAttribute(thisObject.wrapped(), eventNames().endedEvent, worldForDOMObject(thisObject));
1186}
1187
1188EncodedJSValue jsSVGElementOnended(ExecState* state, EncodedJSValue thisValue, PropertyName)
1189{
1190 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnendedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onended");
1191}
1192
1193static inline bool setJSSVGElementOnendedSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1194{
1195 UNUSED_PARAM(throwScope);
1196 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().endedEvent, value);
1197 return true;
1198}
1199
1200bool setJSSVGElementOnended(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1201{
1202 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnendedSetter>(*state, thisValue, encodedValue, "onended");
1203}
1204
1205static inline JSValue jsSVGElementOnerrorGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1206{
1207 UNUSED_PARAM(throwScope);
1208 UNUSED_PARAM(state);
1209 return eventHandlerAttribute(thisObject.wrapped(), eventNames().errorEvent, worldForDOMObject(thisObject));
1210}
1211
1212EncodedJSValue jsSVGElementOnerror(ExecState* state, EncodedJSValue thisValue, PropertyName)
1213{
1214 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnerrorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onerror");
1215}
1216
1217static inline bool setJSSVGElementOnerrorSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1218{
1219 UNUSED_PARAM(throwScope);
1220 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().errorEvent, value);
1221 return true;
1222}
1223
1224bool setJSSVGElementOnerror(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1225{
1226 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnerrorSetter>(*state, thisValue, encodedValue, "onerror");
1227}
1228
1229static inline JSValue jsSVGElementOnfocusGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1230{
1231 UNUSED_PARAM(throwScope);
1232 UNUSED_PARAM(state);
1233 return eventHandlerAttribute(thisObject.wrapped(), eventNames().focusEvent, worldForDOMObject(thisObject));
1234}
1235
1236EncodedJSValue jsSVGElementOnfocus(ExecState* state, EncodedJSValue thisValue, PropertyName)
1237{
1238 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnfocusGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onfocus");
1239}
1240
1241static inline bool setJSSVGElementOnfocusSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1242{
1243 UNUSED_PARAM(throwScope);
1244 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().focusEvent, value);
1245 return true;
1246}
1247
1248bool setJSSVGElementOnfocus(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1249{
1250 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnfocusSetter>(*state, thisValue, encodedValue, "onfocus");
1251}
1252
1253static inline JSValue jsSVGElementOninputGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1254{
1255 UNUSED_PARAM(throwScope);
1256 UNUSED_PARAM(state);
1257 return eventHandlerAttribute(thisObject.wrapped(), eventNames().inputEvent, worldForDOMObject(thisObject));
1258}
1259
1260EncodedJSValue jsSVGElementOninput(ExecState* state, EncodedJSValue thisValue, PropertyName)
1261{
1262 return IDLAttribute<JSSVGElement>::get<jsSVGElementOninputGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oninput");
1263}
1264
1265static inline bool setJSSVGElementOninputSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1266{
1267 UNUSED_PARAM(throwScope);
1268 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().inputEvent, value);
1269 return true;
1270}
1271
1272bool setJSSVGElementOninput(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1273{
1274 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOninputSetter>(*state, thisValue, encodedValue, "oninput");
1275}
1276
1277static inline JSValue jsSVGElementOninvalidGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1278{
1279 UNUSED_PARAM(throwScope);
1280 UNUSED_PARAM(state);
1281 return eventHandlerAttribute(thisObject.wrapped(), eventNames().invalidEvent, worldForDOMObject(thisObject));
1282}
1283
1284EncodedJSValue jsSVGElementOninvalid(ExecState* state, EncodedJSValue thisValue, PropertyName)
1285{
1286 return IDLAttribute<JSSVGElement>::get<jsSVGElementOninvalidGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oninvalid");
1287}
1288
1289static inline bool setJSSVGElementOninvalidSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1290{
1291 UNUSED_PARAM(throwScope);
1292 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().invalidEvent, value);
1293 return true;
1294}
1295
1296bool setJSSVGElementOninvalid(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1297{
1298 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOninvalidSetter>(*state, thisValue, encodedValue, "oninvalid");
1299}
1300
1301static inline JSValue jsSVGElementOnkeydownGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1302{
1303 UNUSED_PARAM(throwScope);
1304 UNUSED_PARAM(state);
1305 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keydownEvent, worldForDOMObject(thisObject));
1306}
1307
1308EncodedJSValue jsSVGElementOnkeydown(ExecState* state, EncodedJSValue thisValue, PropertyName)
1309{
1310 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnkeydownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onkeydown");
1311}
1312
1313static inline bool setJSSVGElementOnkeydownSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1314{
1315 UNUSED_PARAM(throwScope);
1316 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().keydownEvent, value);
1317 return true;
1318}
1319
1320bool setJSSVGElementOnkeydown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1321{
1322 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnkeydownSetter>(*state, thisValue, encodedValue, "onkeydown");
1323}
1324
1325static inline JSValue jsSVGElementOnkeypressGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1326{
1327 UNUSED_PARAM(throwScope);
1328 UNUSED_PARAM(state);
1329 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keypressEvent, worldForDOMObject(thisObject));
1330}
1331
1332EncodedJSValue jsSVGElementOnkeypress(ExecState* state, EncodedJSValue thisValue, PropertyName)
1333{
1334 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnkeypressGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onkeypress");
1335}
1336
1337static inline bool setJSSVGElementOnkeypressSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1338{
1339 UNUSED_PARAM(throwScope);
1340 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().keypressEvent, value);
1341 return true;
1342}
1343
1344bool setJSSVGElementOnkeypress(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1345{
1346 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnkeypressSetter>(*state, thisValue, encodedValue, "onkeypress");
1347}
1348
1349static inline JSValue jsSVGElementOnkeyupGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1350{
1351 UNUSED_PARAM(throwScope);
1352 UNUSED_PARAM(state);
1353 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keyupEvent, worldForDOMObject(thisObject));
1354}
1355
1356EncodedJSValue jsSVGElementOnkeyup(ExecState* state, EncodedJSValue thisValue, PropertyName)
1357{
1358 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnkeyupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onkeyup");
1359}
1360
1361static inline bool setJSSVGElementOnkeyupSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1362{
1363 UNUSED_PARAM(throwScope);
1364 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().keyupEvent, value);
1365 return true;
1366}
1367
1368bool setJSSVGElementOnkeyup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1369{
1370 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnkeyupSetter>(*state, thisValue, encodedValue, "onkeyup");
1371}
1372
1373static inline JSValue jsSVGElementOnloadGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1374{
1375 UNUSED_PARAM(throwScope);
1376 UNUSED_PARAM(state);
1377 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadEvent, worldForDOMObject(thisObject));
1378}
1379
1380EncodedJSValue jsSVGElementOnload(ExecState* state, EncodedJSValue thisValue, PropertyName)
1381{
1382 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnloadGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onload");
1383}
1384
1385static inline bool setJSSVGElementOnloadSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1386{
1387 UNUSED_PARAM(throwScope);
1388 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadEvent, value);
1389 return true;
1390}
1391
1392bool setJSSVGElementOnload(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1393{
1394 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnloadSetter>(*state, thisValue, encodedValue, "onload");
1395}
1396
1397static inline JSValue jsSVGElementOnloadeddataGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1398{
1399 UNUSED_PARAM(throwScope);
1400 UNUSED_PARAM(state);
1401 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadeddataEvent, worldForDOMObject(thisObject));
1402}
1403
1404EncodedJSValue jsSVGElementOnloadeddata(ExecState* state, EncodedJSValue thisValue, PropertyName)
1405{
1406 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnloadeddataGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onloadeddata");
1407}
1408
1409static inline bool setJSSVGElementOnloadeddataSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1410{
1411 UNUSED_PARAM(throwScope);
1412 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadeddataEvent, value);
1413 return true;
1414}
1415
1416bool setJSSVGElementOnloadeddata(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1417{
1418 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnloadeddataSetter>(*state, thisValue, encodedValue, "onloadeddata");
1419}
1420
1421static inline JSValue jsSVGElementOnloadedmetadataGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1422{
1423 UNUSED_PARAM(throwScope);
1424 UNUSED_PARAM(state);
1425 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadedmetadataEvent, worldForDOMObject(thisObject));
1426}
1427
1428EncodedJSValue jsSVGElementOnloadedmetadata(ExecState* state, EncodedJSValue thisValue, PropertyName)
1429{
1430 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnloadedmetadataGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onloadedmetadata");
1431}
1432
1433static inline bool setJSSVGElementOnloadedmetadataSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1434{
1435 UNUSED_PARAM(throwScope);
1436 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadedmetadataEvent, value);
1437 return true;
1438}
1439
1440bool setJSSVGElementOnloadedmetadata(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1441{
1442 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnloadedmetadataSetter>(*state, thisValue, encodedValue, "onloadedmetadata");
1443}
1444
1445static inline JSValue jsSVGElementOnloadstartGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1446{
1447 UNUSED_PARAM(throwScope);
1448 UNUSED_PARAM(state);
1449 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadstartEvent, worldForDOMObject(thisObject));
1450}
1451
1452EncodedJSValue jsSVGElementOnloadstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
1453{
1454 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnloadstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onloadstart");
1455}
1456
1457static inline bool setJSSVGElementOnloadstartSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1458{
1459 UNUSED_PARAM(throwScope);
1460 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadstartEvent, value);
1461 return true;
1462}
1463
1464bool setJSSVGElementOnloadstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1465{
1466 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnloadstartSetter>(*state, thisValue, encodedValue, "onloadstart");
1467}
1468
1469static inline JSValue jsSVGElementOnmousedownGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1470{
1471 UNUSED_PARAM(throwScope);
1472 UNUSED_PARAM(state);
1473 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousedownEvent, worldForDOMObject(thisObject));
1474}
1475
1476EncodedJSValue jsSVGElementOnmousedown(ExecState* state, EncodedJSValue thisValue, PropertyName)
1477{
1478 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmousedownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmousedown");
1479}
1480
1481static inline bool setJSSVGElementOnmousedownSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1482{
1483 UNUSED_PARAM(throwScope);
1484 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mousedownEvent, value);
1485 return true;
1486}
1487
1488bool setJSSVGElementOnmousedown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1489{
1490 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmousedownSetter>(*state, thisValue, encodedValue, "onmousedown");
1491}
1492
1493static inline JSValue jsSVGElementOnmouseenterGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1494{
1495 UNUSED_PARAM(throwScope);
1496 UNUSED_PARAM(state);
1497 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseenterEvent, worldForDOMObject(thisObject));
1498}
1499
1500EncodedJSValue jsSVGElementOnmouseenter(ExecState* state, EncodedJSValue thisValue, PropertyName)
1501{
1502 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmouseenterGetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, "onmouseenter");
1503}
1504
1505static inline bool setJSSVGElementOnmouseenterSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1506{
1507 UNUSED_PARAM(throwScope);
1508 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseenterEvent, value);
1509 return true;
1510}
1511
1512bool setJSSVGElementOnmouseenter(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1513{
1514 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmouseenterSetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, encodedValue, "onmouseenter");
1515}
1516
1517static inline JSValue jsSVGElementOnmouseleaveGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1518{
1519 UNUSED_PARAM(throwScope);
1520 UNUSED_PARAM(state);
1521 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseleaveEvent, worldForDOMObject(thisObject));
1522}
1523
1524EncodedJSValue jsSVGElementOnmouseleave(ExecState* state, EncodedJSValue thisValue, PropertyName)
1525{
1526 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmouseleaveGetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, "onmouseleave");
1527}
1528
1529static inline bool setJSSVGElementOnmouseleaveSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1530{
1531 UNUSED_PARAM(throwScope);
1532 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseleaveEvent, value);
1533 return true;
1534}
1535
1536bool setJSSVGElementOnmouseleave(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1537{
1538 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmouseleaveSetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, encodedValue, "onmouseleave");
1539}
1540
1541static inline JSValue jsSVGElementOnmousemoveGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1542{
1543 UNUSED_PARAM(throwScope);
1544 UNUSED_PARAM(state);
1545 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousemoveEvent, worldForDOMObject(thisObject));
1546}
1547
1548EncodedJSValue jsSVGElementOnmousemove(ExecState* state, EncodedJSValue thisValue, PropertyName)
1549{
1550 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmousemoveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmousemove");
1551}
1552
1553static inline bool setJSSVGElementOnmousemoveSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1554{
1555 UNUSED_PARAM(throwScope);
1556 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mousemoveEvent, value);
1557 return true;
1558}
1559
1560bool setJSSVGElementOnmousemove(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1561{
1562 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmousemoveSetter>(*state, thisValue, encodedValue, "onmousemove");
1563}
1564
1565static inline JSValue jsSVGElementOnmouseoutGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1566{
1567 UNUSED_PARAM(throwScope);
1568 UNUSED_PARAM(state);
1569 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseoutEvent, worldForDOMObject(thisObject));
1570}
1571
1572EncodedJSValue jsSVGElementOnmouseout(ExecState* state, EncodedJSValue thisValue, PropertyName)
1573{
1574 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmouseoutGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmouseout");
1575}
1576
1577static inline bool setJSSVGElementOnmouseoutSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1578{
1579 UNUSED_PARAM(throwScope);
1580 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseoutEvent, value);
1581 return true;
1582}
1583
1584bool setJSSVGElementOnmouseout(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1585{
1586 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmouseoutSetter>(*state, thisValue, encodedValue, "onmouseout");
1587}
1588
1589static inline JSValue jsSVGElementOnmouseoverGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1590{
1591 UNUSED_PARAM(throwScope);
1592 UNUSED_PARAM(state);
1593 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseoverEvent, worldForDOMObject(thisObject));
1594}
1595
1596EncodedJSValue jsSVGElementOnmouseover(ExecState* state, EncodedJSValue thisValue, PropertyName)
1597{
1598 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmouseoverGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmouseover");
1599}
1600
1601static inline bool setJSSVGElementOnmouseoverSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1602{
1603 UNUSED_PARAM(throwScope);
1604 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseoverEvent, value);
1605 return true;
1606}
1607
1608bool setJSSVGElementOnmouseover(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1609{
1610 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmouseoverSetter>(*state, thisValue, encodedValue, "onmouseover");
1611}
1612
1613static inline JSValue jsSVGElementOnmouseupGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1614{
1615 UNUSED_PARAM(throwScope);
1616 UNUSED_PARAM(state);
1617 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseupEvent, worldForDOMObject(thisObject));
1618}
1619
1620EncodedJSValue jsSVGElementOnmouseup(ExecState* state, EncodedJSValue thisValue, PropertyName)
1621{
1622 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmouseupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmouseup");
1623}
1624
1625static inline bool setJSSVGElementOnmouseupSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1626{
1627 UNUSED_PARAM(throwScope);
1628 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseupEvent, value);
1629 return true;
1630}
1631
1632bool setJSSVGElementOnmouseup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1633{
1634 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmouseupSetter>(*state, thisValue, encodedValue, "onmouseup");
1635}
1636
1637static inline JSValue jsSVGElementOnmousewheelGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1638{
1639 UNUSED_PARAM(throwScope);
1640 UNUSED_PARAM(state);
1641 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousewheelEvent, worldForDOMObject(thisObject));
1642}
1643
1644EncodedJSValue jsSVGElementOnmousewheel(ExecState* state, EncodedJSValue thisValue, PropertyName)
1645{
1646 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnmousewheelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmousewheel");
1647}
1648
1649static inline bool setJSSVGElementOnmousewheelSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1650{
1651 UNUSED_PARAM(throwScope);
1652 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mousewheelEvent, value);
1653 return true;
1654}
1655
1656bool setJSSVGElementOnmousewheel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1657{
1658 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnmousewheelSetter>(*state, thisValue, encodedValue, "onmousewheel");
1659}
1660
1661static inline JSValue jsSVGElementOnpauseGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1662{
1663 UNUSED_PARAM(throwScope);
1664 UNUSED_PARAM(state);
1665 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pauseEvent, worldForDOMObject(thisObject));
1666}
1667
1668EncodedJSValue jsSVGElementOnpause(ExecState* state, EncodedJSValue thisValue, PropertyName)
1669{
1670 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpauseGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpause");
1671}
1672
1673static inline bool setJSSVGElementOnpauseSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1674{
1675 UNUSED_PARAM(throwScope);
1676 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pauseEvent, value);
1677 return true;
1678}
1679
1680bool setJSSVGElementOnpause(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1681{
1682 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpauseSetter>(*state, thisValue, encodedValue, "onpause");
1683}
1684
1685static inline JSValue jsSVGElementOnplayGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1686{
1687 UNUSED_PARAM(throwScope);
1688 UNUSED_PARAM(state);
1689 return eventHandlerAttribute(thisObject.wrapped(), eventNames().playEvent, worldForDOMObject(thisObject));
1690}
1691
1692EncodedJSValue jsSVGElementOnplay(ExecState* state, EncodedJSValue thisValue, PropertyName)
1693{
1694 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnplayGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onplay");
1695}
1696
1697static inline bool setJSSVGElementOnplaySetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1698{
1699 UNUSED_PARAM(throwScope);
1700 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().playEvent, value);
1701 return true;
1702}
1703
1704bool setJSSVGElementOnplay(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1705{
1706 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnplaySetter>(*state, thisValue, encodedValue, "onplay");
1707}
1708
1709static inline JSValue jsSVGElementOnplayingGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1710{
1711 UNUSED_PARAM(throwScope);
1712 UNUSED_PARAM(state);
1713 return eventHandlerAttribute(thisObject.wrapped(), eventNames().playingEvent, worldForDOMObject(thisObject));
1714}
1715
1716EncodedJSValue jsSVGElementOnplaying(ExecState* state, EncodedJSValue thisValue, PropertyName)
1717{
1718 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnplayingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onplaying");
1719}
1720
1721static inline bool setJSSVGElementOnplayingSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1722{
1723 UNUSED_PARAM(throwScope);
1724 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().playingEvent, value);
1725 return true;
1726}
1727
1728bool setJSSVGElementOnplaying(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1729{
1730 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnplayingSetter>(*state, thisValue, encodedValue, "onplaying");
1731}
1732
1733static inline JSValue jsSVGElementOnprogressGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1734{
1735 UNUSED_PARAM(throwScope);
1736 UNUSED_PARAM(state);
1737 return eventHandlerAttribute(thisObject.wrapped(), eventNames().progressEvent, worldForDOMObject(thisObject));
1738}
1739
1740EncodedJSValue jsSVGElementOnprogress(ExecState* state, EncodedJSValue thisValue, PropertyName)
1741{
1742 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnprogressGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onprogress");
1743}
1744
1745static inline bool setJSSVGElementOnprogressSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1746{
1747 UNUSED_PARAM(throwScope);
1748 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().progressEvent, value);
1749 return true;
1750}
1751
1752bool setJSSVGElementOnprogress(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1753{
1754 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnprogressSetter>(*state, thisValue, encodedValue, "onprogress");
1755}
1756
1757static inline JSValue jsSVGElementOnratechangeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1758{
1759 UNUSED_PARAM(throwScope);
1760 UNUSED_PARAM(state);
1761 return eventHandlerAttribute(thisObject.wrapped(), eventNames().ratechangeEvent, worldForDOMObject(thisObject));
1762}
1763
1764EncodedJSValue jsSVGElementOnratechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
1765{
1766 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnratechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onratechange");
1767}
1768
1769static inline bool setJSSVGElementOnratechangeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1770{
1771 UNUSED_PARAM(throwScope);
1772 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().ratechangeEvent, value);
1773 return true;
1774}
1775
1776bool setJSSVGElementOnratechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1777{
1778 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnratechangeSetter>(*state, thisValue, encodedValue, "onratechange");
1779}
1780
1781static inline JSValue jsSVGElementOnrejectionhandledGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1782{
1783 UNUSED_PARAM(throwScope);
1784 UNUSED_PARAM(state);
1785 return eventHandlerAttribute(thisObject.wrapped(), eventNames().rejectionhandledEvent, worldForDOMObject(thisObject));
1786}
1787
1788EncodedJSValue jsSVGElementOnrejectionhandled(ExecState* state, EncodedJSValue thisValue, PropertyName)
1789{
1790 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnrejectionhandledGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onrejectionhandled");
1791}
1792
1793static inline bool setJSSVGElementOnrejectionhandledSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1794{
1795 UNUSED_PARAM(throwScope);
1796 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().rejectionhandledEvent, value);
1797 return true;
1798}
1799
1800bool setJSSVGElementOnrejectionhandled(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1801{
1802 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnrejectionhandledSetter>(*state, thisValue, encodedValue, "onrejectionhandled");
1803}
1804
1805static inline JSValue jsSVGElementOnresetGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1806{
1807 UNUSED_PARAM(throwScope);
1808 UNUSED_PARAM(state);
1809 return eventHandlerAttribute(thisObject.wrapped(), eventNames().resetEvent, worldForDOMObject(thisObject));
1810}
1811
1812EncodedJSValue jsSVGElementOnreset(ExecState* state, EncodedJSValue thisValue, PropertyName)
1813{
1814 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnresetGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onreset");
1815}
1816
1817static inline bool setJSSVGElementOnresetSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1818{
1819 UNUSED_PARAM(throwScope);
1820 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().resetEvent, value);
1821 return true;
1822}
1823
1824bool setJSSVGElementOnreset(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1825{
1826 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnresetSetter>(*state, thisValue, encodedValue, "onreset");
1827}
1828
1829static inline JSValue jsSVGElementOnresizeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1830{
1831 UNUSED_PARAM(throwScope);
1832 UNUSED_PARAM(state);
1833 return eventHandlerAttribute(thisObject.wrapped(), eventNames().resizeEvent, worldForDOMObject(thisObject));
1834}
1835
1836EncodedJSValue jsSVGElementOnresize(ExecState* state, EncodedJSValue thisValue, PropertyName)
1837{
1838 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnresizeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onresize");
1839}
1840
1841static inline bool setJSSVGElementOnresizeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1842{
1843 UNUSED_PARAM(throwScope);
1844 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().resizeEvent, value);
1845 return true;
1846}
1847
1848bool setJSSVGElementOnresize(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1849{
1850 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnresizeSetter>(*state, thisValue, encodedValue, "onresize");
1851}
1852
1853static inline JSValue jsSVGElementOnscrollGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1854{
1855 UNUSED_PARAM(throwScope);
1856 UNUSED_PARAM(state);
1857 return eventHandlerAttribute(thisObject.wrapped(), eventNames().scrollEvent, worldForDOMObject(thisObject));
1858}
1859
1860EncodedJSValue jsSVGElementOnscroll(ExecState* state, EncodedJSValue thisValue, PropertyName)
1861{
1862 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnscrollGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onscroll");
1863}
1864
1865static inline bool setJSSVGElementOnscrollSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1866{
1867 UNUSED_PARAM(throwScope);
1868 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().scrollEvent, value);
1869 return true;
1870}
1871
1872bool setJSSVGElementOnscroll(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1873{
1874 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnscrollSetter>(*state, thisValue, encodedValue, "onscroll");
1875}
1876
1877static inline JSValue jsSVGElementOnseekedGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1878{
1879 UNUSED_PARAM(throwScope);
1880 UNUSED_PARAM(state);
1881 return eventHandlerAttribute(thisObject.wrapped(), eventNames().seekedEvent, worldForDOMObject(thisObject));
1882}
1883
1884EncodedJSValue jsSVGElementOnseeked(ExecState* state, EncodedJSValue thisValue, PropertyName)
1885{
1886 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnseekedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onseeked");
1887}
1888
1889static inline bool setJSSVGElementOnseekedSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1890{
1891 UNUSED_PARAM(throwScope);
1892 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().seekedEvent, value);
1893 return true;
1894}
1895
1896bool setJSSVGElementOnseeked(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1897{
1898 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnseekedSetter>(*state, thisValue, encodedValue, "onseeked");
1899}
1900
1901static inline JSValue jsSVGElementOnseekingGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1902{
1903 UNUSED_PARAM(throwScope);
1904 UNUSED_PARAM(state);
1905 return eventHandlerAttribute(thisObject.wrapped(), eventNames().seekingEvent, worldForDOMObject(thisObject));
1906}
1907
1908EncodedJSValue jsSVGElementOnseeking(ExecState* state, EncodedJSValue thisValue, PropertyName)
1909{
1910 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnseekingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onseeking");
1911}
1912
1913static inline bool setJSSVGElementOnseekingSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1914{
1915 UNUSED_PARAM(throwScope);
1916 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().seekingEvent, value);
1917 return true;
1918}
1919
1920bool setJSSVGElementOnseeking(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1921{
1922 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnseekingSetter>(*state, thisValue, encodedValue, "onseeking");
1923}
1924
1925static inline JSValue jsSVGElementOnselectGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1926{
1927 UNUSED_PARAM(throwScope);
1928 UNUSED_PARAM(state);
1929 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectEvent, worldForDOMObject(thisObject));
1930}
1931
1932EncodedJSValue jsSVGElementOnselect(ExecState* state, EncodedJSValue thisValue, PropertyName)
1933{
1934 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnselectGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onselect");
1935}
1936
1937static inline bool setJSSVGElementOnselectSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1938{
1939 UNUSED_PARAM(throwScope);
1940 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().selectEvent, value);
1941 return true;
1942}
1943
1944bool setJSSVGElementOnselect(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1945{
1946 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnselectSetter>(*state, thisValue, encodedValue, "onselect");
1947}
1948
1949static inline JSValue jsSVGElementOnstalledGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1950{
1951 UNUSED_PARAM(throwScope);
1952 UNUSED_PARAM(state);
1953 return eventHandlerAttribute(thisObject.wrapped(), eventNames().stalledEvent, worldForDOMObject(thisObject));
1954}
1955
1956EncodedJSValue jsSVGElementOnstalled(ExecState* state, EncodedJSValue thisValue, PropertyName)
1957{
1958 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnstalledGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onstalled");
1959}
1960
1961static inline bool setJSSVGElementOnstalledSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1962{
1963 UNUSED_PARAM(throwScope);
1964 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().stalledEvent, value);
1965 return true;
1966}
1967
1968bool setJSSVGElementOnstalled(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1969{
1970 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnstalledSetter>(*state, thisValue, encodedValue, "onstalled");
1971}
1972
1973static inline JSValue jsSVGElementOnsubmitGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1974{
1975 UNUSED_PARAM(throwScope);
1976 UNUSED_PARAM(state);
1977 return eventHandlerAttribute(thisObject.wrapped(), eventNames().submitEvent, worldForDOMObject(thisObject));
1978}
1979
1980EncodedJSValue jsSVGElementOnsubmit(ExecState* state, EncodedJSValue thisValue, PropertyName)
1981{
1982 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnsubmitGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onsubmit");
1983}
1984
1985static inline bool setJSSVGElementOnsubmitSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
1986{
1987 UNUSED_PARAM(throwScope);
1988 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().submitEvent, value);
1989 return true;
1990}
1991
1992bool setJSSVGElementOnsubmit(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1993{
1994 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnsubmitSetter>(*state, thisValue, encodedValue, "onsubmit");
1995}
1996
1997static inline JSValue jsSVGElementOnsuspendGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
1998{
1999 UNUSED_PARAM(throwScope);
2000 UNUSED_PARAM(state);
2001 return eventHandlerAttribute(thisObject.wrapped(), eventNames().suspendEvent, worldForDOMObject(thisObject));
2002}
2003
2004EncodedJSValue jsSVGElementOnsuspend(ExecState* state, EncodedJSValue thisValue, PropertyName)
2005{
2006 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnsuspendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onsuspend");
2007}
2008
2009static inline bool setJSSVGElementOnsuspendSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2010{
2011 UNUSED_PARAM(throwScope);
2012 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().suspendEvent, value);
2013 return true;
2014}
2015
2016bool setJSSVGElementOnsuspend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2017{
2018 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnsuspendSetter>(*state, thisValue, encodedValue, "onsuspend");
2019}
2020
2021static inline JSValue jsSVGElementOntimeupdateGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2022{
2023 UNUSED_PARAM(throwScope);
2024 UNUSED_PARAM(state);
2025 return eventHandlerAttribute(thisObject.wrapped(), eventNames().timeupdateEvent, worldForDOMObject(thisObject));
2026}
2027
2028EncodedJSValue jsSVGElementOntimeupdate(ExecState* state, EncodedJSValue thisValue, PropertyName)
2029{
2030 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntimeupdateGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontimeupdate");
2031}
2032
2033static inline bool setJSSVGElementOntimeupdateSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2034{
2035 UNUSED_PARAM(throwScope);
2036 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().timeupdateEvent, value);
2037 return true;
2038}
2039
2040bool setJSSVGElementOntimeupdate(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2041{
2042 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntimeupdateSetter>(*state, thisValue, encodedValue, "ontimeupdate");
2043}
2044
2045static inline JSValue jsSVGElementOntoggleGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2046{
2047 UNUSED_PARAM(throwScope);
2048 UNUSED_PARAM(state);
2049 return eventHandlerAttribute(thisObject.wrapped(), eventNames().toggleEvent, worldForDOMObject(thisObject));
2050}
2051
2052EncodedJSValue jsSVGElementOntoggle(ExecState* state, EncodedJSValue thisValue, PropertyName)
2053{
2054 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntoggleGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontoggle");
2055}
2056
2057static inline bool setJSSVGElementOntoggleSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2058{
2059 UNUSED_PARAM(throwScope);
2060 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().toggleEvent, value);
2061 return true;
2062}
2063
2064bool setJSSVGElementOntoggle(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2065{
2066 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntoggleSetter>(*state, thisValue, encodedValue, "ontoggle");
2067}
2068
2069static inline JSValue jsSVGElementOnunhandledrejectionGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2070{
2071 UNUSED_PARAM(throwScope);
2072 UNUSED_PARAM(state);
2073 return eventHandlerAttribute(thisObject.wrapped(), eventNames().unhandledrejectionEvent, worldForDOMObject(thisObject));
2074}
2075
2076EncodedJSValue jsSVGElementOnunhandledrejection(ExecState* state, EncodedJSValue thisValue, PropertyName)
2077{
2078 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnunhandledrejectionGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onunhandledrejection");
2079}
2080
2081static inline bool setJSSVGElementOnunhandledrejectionSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2082{
2083 UNUSED_PARAM(throwScope);
2084 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().unhandledrejectionEvent, value);
2085 return true;
2086}
2087
2088bool setJSSVGElementOnunhandledrejection(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2089{
2090 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnunhandledrejectionSetter>(*state, thisValue, encodedValue, "onunhandledrejection");
2091}
2092
2093static inline JSValue jsSVGElementOnvolumechangeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2094{
2095 UNUSED_PARAM(throwScope);
2096 UNUSED_PARAM(state);
2097 return eventHandlerAttribute(thisObject.wrapped(), eventNames().volumechangeEvent, worldForDOMObject(thisObject));
2098}
2099
2100EncodedJSValue jsSVGElementOnvolumechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
2101{
2102 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnvolumechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onvolumechange");
2103}
2104
2105static inline bool setJSSVGElementOnvolumechangeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2106{
2107 UNUSED_PARAM(throwScope);
2108 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().volumechangeEvent, value);
2109 return true;
2110}
2111
2112bool setJSSVGElementOnvolumechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2113{
2114 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnvolumechangeSetter>(*state, thisValue, encodedValue, "onvolumechange");
2115}
2116
2117static inline JSValue jsSVGElementOnwaitingGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2118{
2119 UNUSED_PARAM(throwScope);
2120 UNUSED_PARAM(state);
2121 return eventHandlerAttribute(thisObject.wrapped(), eventNames().waitingEvent, worldForDOMObject(thisObject));
2122}
2123
2124EncodedJSValue jsSVGElementOnwaiting(ExecState* state, EncodedJSValue thisValue, PropertyName)
2125{
2126 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnwaitingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwaiting");
2127}
2128
2129static inline bool setJSSVGElementOnwaitingSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2130{
2131 UNUSED_PARAM(throwScope);
2132 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().waitingEvent, value);
2133 return true;
2134}
2135
2136bool setJSSVGElementOnwaiting(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2137{
2138 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnwaitingSetter>(*state, thisValue, encodedValue, "onwaiting");
2139}
2140
2141static inline JSValue jsSVGElementOntransitionendGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2142{
2143 UNUSED_PARAM(throwScope);
2144 UNUSED_PARAM(state);
2145 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionendEvent, worldForDOMObject(thisObject));
2146}
2147
2148EncodedJSValue jsSVGElementOntransitionend(ExecState* state, EncodedJSValue thisValue, PropertyName)
2149{
2150 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntransitionendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitionend");
2151}
2152
2153static inline bool setJSSVGElementOntransitionendSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2154{
2155 UNUSED_PARAM(throwScope);
2156 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitionendEvent, value);
2157 return true;
2158}
2159
2160bool setJSSVGElementOntransitionend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2161{
2162 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntransitionendSetter>(*state, thisValue, encodedValue, "ontransitionend");
2163}
2164
2165static inline JSValue jsSVGElementOntransitionrunGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2166{
2167 UNUSED_PARAM(throwScope);
2168 UNUSED_PARAM(state);
2169 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionrunEvent, worldForDOMObject(thisObject));
2170}
2171
2172EncodedJSValue jsSVGElementOntransitionrun(ExecState* state, EncodedJSValue thisValue, PropertyName)
2173{
2174 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntransitionrunGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitionrun");
2175}
2176
2177static inline bool setJSSVGElementOntransitionrunSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2178{
2179 UNUSED_PARAM(throwScope);
2180 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitionrunEvent, value);
2181 return true;
2182}
2183
2184bool setJSSVGElementOntransitionrun(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2185{
2186 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntransitionrunSetter>(*state, thisValue, encodedValue, "ontransitionrun");
2187}
2188
2189static inline JSValue jsSVGElementOntransitionstartGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2190{
2191 UNUSED_PARAM(throwScope);
2192 UNUSED_PARAM(state);
2193 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionstartEvent, worldForDOMObject(thisObject));
2194}
2195
2196EncodedJSValue jsSVGElementOntransitionstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
2197{
2198 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntransitionstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitionstart");
2199}
2200
2201static inline bool setJSSVGElementOntransitionstartSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2202{
2203 UNUSED_PARAM(throwScope);
2204 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitionstartEvent, value);
2205 return true;
2206}
2207
2208bool setJSSVGElementOntransitionstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2209{
2210 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntransitionstartSetter>(*state, thisValue, encodedValue, "ontransitionstart");
2211}
2212
2213static inline JSValue jsSVGElementOntransitioncancelGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2214{
2215 UNUSED_PARAM(throwScope);
2216 UNUSED_PARAM(state);
2217 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitioncancelEvent, worldForDOMObject(thisObject));
2218}
2219
2220EncodedJSValue jsSVGElementOntransitioncancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
2221{
2222 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntransitioncancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitioncancel");
2223}
2224
2225static inline bool setJSSVGElementOntransitioncancelSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2226{
2227 UNUSED_PARAM(throwScope);
2228 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitioncancelEvent, value);
2229 return true;
2230}
2231
2232bool setJSSVGElementOntransitioncancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2233{
2234 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntransitioncancelSetter>(*state, thisValue, encodedValue, "ontransitioncancel");
2235}
2236
2237static inline JSValue jsSVGElementOnanimationendGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2238{
2239 UNUSED_PARAM(throwScope);
2240 UNUSED_PARAM(state);
2241 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationendEvent, worldForDOMObject(thisObject));
2242}
2243
2244EncodedJSValue jsSVGElementOnanimationend(ExecState* state, EncodedJSValue thisValue, PropertyName)
2245{
2246 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnanimationendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationend");
2247}
2248
2249static inline bool setJSSVGElementOnanimationendSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2250{
2251 UNUSED_PARAM(throwScope);
2252 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationendEvent, value);
2253 return true;
2254}
2255
2256bool setJSSVGElementOnanimationend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2257{
2258 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnanimationendSetter>(*state, thisValue, encodedValue, "onanimationend");
2259}
2260
2261static inline JSValue jsSVGElementOnanimationiterationGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2262{
2263 UNUSED_PARAM(throwScope);
2264 UNUSED_PARAM(state);
2265 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationiterationEvent, worldForDOMObject(thisObject));
2266}
2267
2268EncodedJSValue jsSVGElementOnanimationiteration(ExecState* state, EncodedJSValue thisValue, PropertyName)
2269{
2270 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnanimationiterationGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationiteration");
2271}
2272
2273static inline bool setJSSVGElementOnanimationiterationSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2274{
2275 UNUSED_PARAM(throwScope);
2276 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationiterationEvent, value);
2277 return true;
2278}
2279
2280bool setJSSVGElementOnanimationiteration(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2281{
2282 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnanimationiterationSetter>(*state, thisValue, encodedValue, "onanimationiteration");
2283}
2284
2285static inline JSValue jsSVGElementOnanimationstartGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2286{
2287 UNUSED_PARAM(throwScope);
2288 UNUSED_PARAM(state);
2289 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationstartEvent, worldForDOMObject(thisObject));
2290}
2291
2292EncodedJSValue jsSVGElementOnanimationstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
2293{
2294 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnanimationstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationstart");
2295}
2296
2297static inline bool setJSSVGElementOnanimationstartSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2298{
2299 UNUSED_PARAM(throwScope);
2300 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationstartEvent, value);
2301 return true;
2302}
2303
2304bool setJSSVGElementOnanimationstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2305{
2306 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnanimationstartSetter>(*state, thisValue, encodedValue, "onanimationstart");
2307}
2308
2309static inline JSValue jsSVGElementOnanimationcancelGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2310{
2311 UNUSED_PARAM(throwScope);
2312 UNUSED_PARAM(state);
2313 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationcancelEvent, worldForDOMObject(thisObject));
2314}
2315
2316EncodedJSValue jsSVGElementOnanimationcancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
2317{
2318 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnanimationcancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationcancel");
2319}
2320
2321static inline bool setJSSVGElementOnanimationcancelSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2322{
2323 UNUSED_PARAM(throwScope);
2324 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationcancelEvent, value);
2325 return true;
2326}
2327
2328bool setJSSVGElementOnanimationcancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2329{
2330 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnanimationcancelSetter>(*state, thisValue, encodedValue, "onanimationcancel");
2331}
2332
2333static inline JSValue jsSVGElementOngotpointercaptureGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2334{
2335 UNUSED_PARAM(throwScope);
2336 UNUSED_PARAM(state);
2337 return eventHandlerAttribute(thisObject.wrapped(), eventNames().gotpointercaptureEvent, worldForDOMObject(thisObject));
2338}
2339
2340EncodedJSValue jsSVGElementOngotpointercapture(ExecState* state, EncodedJSValue thisValue, PropertyName)
2341{
2342 return IDLAttribute<JSSVGElement>::get<jsSVGElementOngotpointercaptureGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ongotpointercapture");
2343}
2344
2345static inline bool setJSSVGElementOngotpointercaptureSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2346{
2347 UNUSED_PARAM(throwScope);
2348 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().gotpointercaptureEvent, value);
2349 return true;
2350}
2351
2352bool setJSSVGElementOngotpointercapture(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2353{
2354 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOngotpointercaptureSetter>(*state, thisValue, encodedValue, "ongotpointercapture");
2355}
2356
2357static inline JSValue jsSVGElementOnlostpointercaptureGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2358{
2359 UNUSED_PARAM(throwScope);
2360 UNUSED_PARAM(state);
2361 return eventHandlerAttribute(thisObject.wrapped(), eventNames().lostpointercaptureEvent, worldForDOMObject(thisObject));
2362}
2363
2364EncodedJSValue jsSVGElementOnlostpointercapture(ExecState* state, EncodedJSValue thisValue, PropertyName)
2365{
2366 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnlostpointercaptureGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onlostpointercapture");
2367}
2368
2369static inline bool setJSSVGElementOnlostpointercaptureSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2370{
2371 UNUSED_PARAM(throwScope);
2372 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().lostpointercaptureEvent, value);
2373 return true;
2374}
2375
2376bool setJSSVGElementOnlostpointercapture(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2377{
2378 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnlostpointercaptureSetter>(*state, thisValue, encodedValue, "onlostpointercapture");
2379}
2380
2381static inline JSValue jsSVGElementOnpointerdownGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2382{
2383 UNUSED_PARAM(throwScope);
2384 UNUSED_PARAM(state);
2385 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerdownEvent, worldForDOMObject(thisObject));
2386}
2387
2388EncodedJSValue jsSVGElementOnpointerdown(ExecState* state, EncodedJSValue thisValue, PropertyName)
2389{
2390 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointerdownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerdown");
2391}
2392
2393static inline bool setJSSVGElementOnpointerdownSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2394{
2395 UNUSED_PARAM(throwScope);
2396 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerdownEvent, value);
2397 return true;
2398}
2399
2400bool setJSSVGElementOnpointerdown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2401{
2402 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointerdownSetter>(*state, thisValue, encodedValue, "onpointerdown");
2403}
2404
2405static inline JSValue jsSVGElementOnpointermoveGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2406{
2407 UNUSED_PARAM(throwScope);
2408 UNUSED_PARAM(state);
2409 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointermoveEvent, worldForDOMObject(thisObject));
2410}
2411
2412EncodedJSValue jsSVGElementOnpointermove(ExecState* state, EncodedJSValue thisValue, PropertyName)
2413{
2414 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointermoveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointermove");
2415}
2416
2417static inline bool setJSSVGElementOnpointermoveSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2418{
2419 UNUSED_PARAM(throwScope);
2420 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointermoveEvent, value);
2421 return true;
2422}
2423
2424bool setJSSVGElementOnpointermove(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2425{
2426 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointermoveSetter>(*state, thisValue, encodedValue, "onpointermove");
2427}
2428
2429static inline JSValue jsSVGElementOnpointerupGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2430{
2431 UNUSED_PARAM(throwScope);
2432 UNUSED_PARAM(state);
2433 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerupEvent, worldForDOMObject(thisObject));
2434}
2435
2436EncodedJSValue jsSVGElementOnpointerup(ExecState* state, EncodedJSValue thisValue, PropertyName)
2437{
2438 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointerupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerup");
2439}
2440
2441static inline bool setJSSVGElementOnpointerupSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2442{
2443 UNUSED_PARAM(throwScope);
2444 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerupEvent, value);
2445 return true;
2446}
2447
2448bool setJSSVGElementOnpointerup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2449{
2450 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointerupSetter>(*state, thisValue, encodedValue, "onpointerup");
2451}
2452
2453static inline JSValue jsSVGElementOnpointercancelGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2454{
2455 UNUSED_PARAM(throwScope);
2456 UNUSED_PARAM(state);
2457 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointercancelEvent, worldForDOMObject(thisObject));
2458}
2459
2460EncodedJSValue jsSVGElementOnpointercancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
2461{
2462 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointercancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointercancel");
2463}
2464
2465static inline bool setJSSVGElementOnpointercancelSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2466{
2467 UNUSED_PARAM(throwScope);
2468 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointercancelEvent, value);
2469 return true;
2470}
2471
2472bool setJSSVGElementOnpointercancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2473{
2474 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointercancelSetter>(*state, thisValue, encodedValue, "onpointercancel");
2475}
2476
2477static inline JSValue jsSVGElementOnpointeroverGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2478{
2479 UNUSED_PARAM(throwScope);
2480 UNUSED_PARAM(state);
2481 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointeroverEvent, worldForDOMObject(thisObject));
2482}
2483
2484EncodedJSValue jsSVGElementOnpointerover(ExecState* state, EncodedJSValue thisValue, PropertyName)
2485{
2486 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointeroverGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerover");
2487}
2488
2489static inline bool setJSSVGElementOnpointeroverSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2490{
2491 UNUSED_PARAM(throwScope);
2492 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointeroverEvent, value);
2493 return true;
2494}
2495
2496bool setJSSVGElementOnpointerover(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2497{
2498 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointeroverSetter>(*state, thisValue, encodedValue, "onpointerover");
2499}
2500
2501static inline JSValue jsSVGElementOnpointeroutGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2502{
2503 UNUSED_PARAM(throwScope);
2504 UNUSED_PARAM(state);
2505 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointeroutEvent, worldForDOMObject(thisObject));
2506}
2507
2508EncodedJSValue jsSVGElementOnpointerout(ExecState* state, EncodedJSValue thisValue, PropertyName)
2509{
2510 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointeroutGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerout");
2511}
2512
2513static inline bool setJSSVGElementOnpointeroutSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2514{
2515 UNUSED_PARAM(throwScope);
2516 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointeroutEvent, value);
2517 return true;
2518}
2519
2520bool setJSSVGElementOnpointerout(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2521{
2522 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointeroutSetter>(*state, thisValue, encodedValue, "onpointerout");
2523}
2524
2525static inline JSValue jsSVGElementOnpointerenterGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2526{
2527 UNUSED_PARAM(throwScope);
2528 UNUSED_PARAM(state);
2529 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerenterEvent, worldForDOMObject(thisObject));
2530}
2531
2532EncodedJSValue jsSVGElementOnpointerenter(ExecState* state, EncodedJSValue thisValue, PropertyName)
2533{
2534 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointerenterGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerenter");
2535}
2536
2537static inline bool setJSSVGElementOnpointerenterSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2538{
2539 UNUSED_PARAM(throwScope);
2540 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerenterEvent, value);
2541 return true;
2542}
2543
2544bool setJSSVGElementOnpointerenter(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2545{
2546 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointerenterSetter>(*state, thisValue, encodedValue, "onpointerenter");
2547}
2548
2549static inline JSValue jsSVGElementOnpointerleaveGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2550{
2551 UNUSED_PARAM(throwScope);
2552 UNUSED_PARAM(state);
2553 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerleaveEvent, worldForDOMObject(thisObject));
2554}
2555
2556EncodedJSValue jsSVGElementOnpointerleave(ExecState* state, EncodedJSValue thisValue, PropertyName)
2557{
2558 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnpointerleaveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerleave");
2559}
2560
2561static inline bool setJSSVGElementOnpointerleaveSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2562{
2563 UNUSED_PARAM(throwScope);
2564 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerleaveEvent, value);
2565 return true;
2566}
2567
2568bool setJSSVGElementOnpointerleave(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2569{
2570 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnpointerleaveSetter>(*state, thisValue, encodedValue, "onpointerleave");
2571}
2572
2573static inline JSValue jsSVGElementOnsearchGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2574{
2575 UNUSED_PARAM(throwScope);
2576 UNUSED_PARAM(state);
2577 return eventHandlerAttribute(thisObject.wrapped(), eventNames().searchEvent, worldForDOMObject(thisObject));
2578}
2579
2580EncodedJSValue jsSVGElementOnsearch(ExecState* state, EncodedJSValue thisValue, PropertyName)
2581{
2582 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnsearchGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onsearch");
2583}
2584
2585static inline bool setJSSVGElementOnsearchSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2586{
2587 UNUSED_PARAM(throwScope);
2588 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().searchEvent, value);
2589 return true;
2590}
2591
2592bool setJSSVGElementOnsearch(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2593{
2594 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnsearchSetter>(*state, thisValue, encodedValue, "onsearch");
2595}
2596
2597static inline JSValue jsSVGElementOnwheelGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2598{
2599 UNUSED_PARAM(throwScope);
2600 UNUSED_PARAM(state);
2601 return eventHandlerAttribute(thisObject.wrapped(), eventNames().wheelEvent, worldForDOMObject(thisObject));
2602}
2603
2604EncodedJSValue jsSVGElementOnwheel(ExecState* state, EncodedJSValue thisValue, PropertyName)
2605{
2606 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnwheelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwheel");
2607}
2608
2609static inline bool setJSSVGElementOnwheelSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2610{
2611 UNUSED_PARAM(throwScope);
2612 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().wheelEvent, value);
2613 return true;
2614}
2615
2616bool setJSSVGElementOnwheel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2617{
2618 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnwheelSetter>(*state, thisValue, encodedValue, "onwheel");
2619}
2620
2621#if ENABLE(TOUCH_EVENTS)
2622static inline JSValue jsSVGElementOntouchcancelGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2623{
2624 UNUSED_PARAM(throwScope);
2625 UNUSED_PARAM(state);
2626 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchcancelEvent, worldForDOMObject(thisObject));
2627}
2628
2629EncodedJSValue jsSVGElementOntouchcancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
2630{
2631 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntouchcancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchcancel");
2632}
2633
2634#endif
2635
2636#if ENABLE(TOUCH_EVENTS)
2637static inline bool setJSSVGElementOntouchcancelSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2638{
2639 UNUSED_PARAM(throwScope);
2640 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchcancelEvent, value);
2641 return true;
2642}
2643
2644bool setJSSVGElementOntouchcancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2645{
2646 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntouchcancelSetter>(*state, thisValue, encodedValue, "ontouchcancel");
2647}
2648
2649#endif
2650
2651#if ENABLE(TOUCH_EVENTS)
2652static inline JSValue jsSVGElementOntouchendGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2653{
2654 UNUSED_PARAM(throwScope);
2655 UNUSED_PARAM(state);
2656 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchendEvent, worldForDOMObject(thisObject));
2657}
2658
2659EncodedJSValue jsSVGElementOntouchend(ExecState* state, EncodedJSValue thisValue, PropertyName)
2660{
2661 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntouchendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchend");
2662}
2663
2664#endif
2665
2666#if ENABLE(TOUCH_EVENTS)
2667static inline bool setJSSVGElementOntouchendSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2668{
2669 UNUSED_PARAM(throwScope);
2670 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchendEvent, value);
2671 return true;
2672}
2673
2674bool setJSSVGElementOntouchend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2675{
2676 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntouchendSetter>(*state, thisValue, encodedValue, "ontouchend");
2677}
2678
2679#endif
2680
2681#if ENABLE(TOUCH_EVENTS)
2682static inline JSValue jsSVGElementOntouchmoveGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2683{
2684 UNUSED_PARAM(throwScope);
2685 UNUSED_PARAM(state);
2686 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchmoveEvent, worldForDOMObject(thisObject));
2687}
2688
2689EncodedJSValue jsSVGElementOntouchmove(ExecState* state, EncodedJSValue thisValue, PropertyName)
2690{
2691 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntouchmoveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchmove");
2692}
2693
2694#endif
2695
2696#if ENABLE(TOUCH_EVENTS)
2697static inline bool setJSSVGElementOntouchmoveSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2698{
2699 UNUSED_PARAM(throwScope);
2700 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchmoveEvent, value);
2701 return true;
2702}
2703
2704bool setJSSVGElementOntouchmove(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2705{
2706 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntouchmoveSetter>(*state, thisValue, encodedValue, "ontouchmove");
2707}
2708
2709#endif
2710
2711#if ENABLE(TOUCH_EVENTS)
2712static inline JSValue jsSVGElementOntouchstartGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2713{
2714 UNUSED_PARAM(throwScope);
2715 UNUSED_PARAM(state);
2716 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchstartEvent, worldForDOMObject(thisObject));
2717}
2718
2719EncodedJSValue jsSVGElementOntouchstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
2720{
2721 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntouchstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchstart");
2722}
2723
2724#endif
2725
2726#if ENABLE(TOUCH_EVENTS)
2727static inline bool setJSSVGElementOntouchstartSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2728{
2729 UNUSED_PARAM(throwScope);
2730 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchstartEvent, value);
2731 return true;
2732}
2733
2734bool setJSSVGElementOntouchstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2735{
2736 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntouchstartSetter>(*state, thisValue, encodedValue, "ontouchstart");
2737}
2738
2739#endif
2740
2741#if ENABLE(TOUCH_EVENTS)
2742static inline JSValue jsSVGElementOntouchforcechangeGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2743{
2744 UNUSED_PARAM(throwScope);
2745 UNUSED_PARAM(state);
2746 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchforcechangeEvent, worldForDOMObject(thisObject));
2747}
2748
2749EncodedJSValue jsSVGElementOntouchforcechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
2750{
2751 return IDLAttribute<JSSVGElement>::get<jsSVGElementOntouchforcechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchforcechange");
2752}
2753
2754#endif
2755
2756#if ENABLE(TOUCH_EVENTS)
2757static inline bool setJSSVGElementOntouchforcechangeSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2758{
2759 UNUSED_PARAM(throwScope);
2760 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchforcechangeEvent, value);
2761 return true;
2762}
2763
2764bool setJSSVGElementOntouchforcechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2765{
2766 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOntouchforcechangeSetter>(*state, thisValue, encodedValue, "ontouchforcechange");
2767}
2768
2769#endif
2770
2771#if ENABLE(MOUSE_FORCE_EVENTS)
2772static inline JSValue jsSVGElementOnwebkitmouseforcechangedGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2773{
2774 UNUSED_PARAM(throwScope);
2775 UNUSED_PARAM(state);
2776 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcechangedEvent, worldForDOMObject(thisObject));
2777}
2778
2779EncodedJSValue jsSVGElementOnwebkitmouseforcechanged(ExecState* state, EncodedJSValue thisValue, PropertyName)
2780{
2781 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnwebkitmouseforcechangedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforcechanged");
2782}
2783
2784#endif
2785
2786#if ENABLE(MOUSE_FORCE_EVENTS)
2787static inline bool setJSSVGElementOnwebkitmouseforcechangedSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2788{
2789 UNUSED_PARAM(throwScope);
2790 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcechangedEvent, value);
2791 return true;
2792}
2793
2794bool setJSSVGElementOnwebkitmouseforcechanged(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2795{
2796 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnwebkitmouseforcechangedSetter>(*state, thisValue, encodedValue, "onwebkitmouseforcechanged");
2797}
2798
2799#endif
2800
2801#if ENABLE(MOUSE_FORCE_EVENTS)
2802static inline JSValue jsSVGElementOnwebkitmouseforcedownGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2803{
2804 UNUSED_PARAM(throwScope);
2805 UNUSED_PARAM(state);
2806 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcedownEvent, worldForDOMObject(thisObject));
2807}
2808
2809EncodedJSValue jsSVGElementOnwebkitmouseforcedown(ExecState* state, EncodedJSValue thisValue, PropertyName)
2810{
2811 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnwebkitmouseforcedownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforcedown");
2812}
2813
2814#endif
2815
2816#if ENABLE(MOUSE_FORCE_EVENTS)
2817static inline bool setJSSVGElementOnwebkitmouseforcedownSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2818{
2819 UNUSED_PARAM(throwScope);
2820 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcedownEvent, value);
2821 return true;
2822}
2823
2824bool setJSSVGElementOnwebkitmouseforcedown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2825{
2826 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnwebkitmouseforcedownSetter>(*state, thisValue, encodedValue, "onwebkitmouseforcedown");
2827}
2828
2829#endif
2830
2831#if ENABLE(MOUSE_FORCE_EVENTS)
2832static inline JSValue jsSVGElementOnwebkitmouseforcewillbeginGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2833{
2834 UNUSED_PARAM(throwScope);
2835 UNUSED_PARAM(state);
2836 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcewillbeginEvent, worldForDOMObject(thisObject));
2837}
2838
2839EncodedJSValue jsSVGElementOnwebkitmouseforcewillbegin(ExecState* state, EncodedJSValue thisValue, PropertyName)
2840{
2841 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnwebkitmouseforcewillbeginGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforcewillbegin");
2842}
2843
2844#endif
2845
2846#if ENABLE(MOUSE_FORCE_EVENTS)
2847static inline bool setJSSVGElementOnwebkitmouseforcewillbeginSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2848{
2849 UNUSED_PARAM(throwScope);
2850 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcewillbeginEvent, value);
2851 return true;
2852}
2853
2854bool setJSSVGElementOnwebkitmouseforcewillbegin(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2855{
2856 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnwebkitmouseforcewillbeginSetter>(*state, thisValue, encodedValue, "onwebkitmouseforcewillbegin");
2857}
2858
2859#endif
2860
2861#if ENABLE(MOUSE_FORCE_EVENTS)
2862static inline JSValue jsSVGElementOnwebkitmouseforceupGetter(ExecState& state, JSSVGElement& thisObject, ThrowScope& throwScope)
2863{
2864 UNUSED_PARAM(throwScope);
2865 UNUSED_PARAM(state);
2866 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforceupEvent, worldForDOMObject(thisObject));
2867}
2868
2869EncodedJSValue jsSVGElementOnwebkitmouseforceup(ExecState* state, EncodedJSValue thisValue, PropertyName)
2870{
2871 return IDLAttribute<JSSVGElement>::get<jsSVGElementOnwebkitmouseforceupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforceup");
2872}
2873
2874#endif
2875
2876#if ENABLE(MOUSE_FORCE_EVENTS)
2877static inline bool setJSSVGElementOnwebkitmouseforceupSetter(ExecState& state, JSSVGElement& thisObject, JSValue value, ThrowScope& throwScope)
2878{
2879 UNUSED_PARAM(throwScope);
2880 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforceupEvent, value);
2881 return true;
2882}
2883
2884bool setJSSVGElementOnwebkitmouseforceup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2885{
2886 return IDLAttribute<JSSVGElement>::set<setJSSVGElementOnwebkitmouseforceupSetter>(*state, thisValue, encodedValue, "onwebkitmouseforceup");
2887}
2888
2889#endif
2890
2891static inline JSC::EncodedJSValue jsSVGElementPrototypeFunctionGetPresentationAttributeBody(JSC::ExecState* state, typename IDLOperation<JSSVGElement>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
2892{
2893 UNUSED_PARAM(state);
2894 UNUSED_PARAM(throwScope);
2895 auto& impl = castedThis->wrapped();
2896 auto name = convert<IDLDOMString>(*state, state->argument(0));
2897 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
2898 return JSValue::encode(toJS<IDLInterface<DeprecatedCSSOMValue>>(*state, *castedThis->globalObject(), impl.getPresentationAttribute(WTFMove(name))));
2899}
2900
2901EncodedJSValue JSC_HOST_CALL jsSVGElementPrototypeFunctionGetPresentationAttribute(ExecState* state)
2902{
2903 return IDLOperation<JSSVGElement>::call<jsSVGElementPrototypeFunctionGetPresentationAttributeBody>(*state, "getPresentationAttribute");
2904}
2905
2906static inline JSC::EncodedJSValue jsSVGElementPrototypeFunctionFocusBody(JSC::ExecState* state, typename IDLOperation<JSSVGElement>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
2907{
2908 UNUSED_PARAM(state);
2909 UNUSED_PARAM(throwScope);
2910 auto& impl = castedThis->wrapped();
2911 impl.focus();
2912 return JSValue::encode(jsUndefined());
2913}
2914
2915EncodedJSValue JSC_HOST_CALL jsSVGElementPrototypeFunctionFocus(ExecState* state)
2916{
2917 return IDLOperation<JSSVGElement>::call<jsSVGElementPrototypeFunctionFocusBody>(*state, "focus");
2918}
2919
2920static inline JSC::EncodedJSValue jsSVGElementPrototypeFunctionBlurBody(JSC::ExecState* state, typename IDLOperation<JSSVGElement>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
2921{
2922 UNUSED_PARAM(state);
2923 UNUSED_PARAM(throwScope);
2924 auto& impl = castedThis->wrapped();
2925 impl.blur();
2926 return JSValue::encode(jsUndefined());
2927}
2928
2929EncodedJSValue JSC_HOST_CALL jsSVGElementPrototypeFunctionBlur(ExecState* state)
2930{
2931 return IDLOperation<JSSVGElement>::call<jsSVGElementPrototypeFunctionBlurBody>(*state, "blur");
2932}
2933
2934void JSSVGElement::visitChildren(JSCell* cell, SlotVisitor& visitor)
2935{
2936 auto* thisObject = jsCast<JSSVGElement*>(cell);
2937 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
2938 Base::visitChildren(thisObject, visitor);
2939#if ENABLE(CSS_TYPED_OM)
2940 visitor.append(thisObject->m_attributeStyleMap);
2941#endif
2942}
2943
2944void JSSVGElement::heapSnapshot(JSCell* cell, HeapSnapshotBuilder& builder)
2945{
2946 auto* thisObject = jsCast<JSSVGElement*>(cell);
2947 builder.setWrappedObjectForCell(cell, &thisObject->wrapped());
2948 if (thisObject->scriptExecutionContext())
2949 builder.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string());
2950 Base::heapSnapshot(cell, builder);
2951}
2952
2953SVGElement* JSSVGElement::toWrapped(JSC::VM& vm, JSC::JSValue value)
2954{
2955 if (auto* wrapper = jsDynamicCast<JSSVGElement*>(vm, value))
2956 return &wrapper->wrapped();
2957 return nullptr;
2958}
2959
2960}
2961