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 "JSDocument.h"
23
24#include "CustomElementReactionQueue.h"
25#include "DOMJITAbstractHeapRepository.h"
26#include "DOMJITIDLConvert.h"
27#include "DOMJITIDLType.h"
28#include "DOMJITIDLTypeFilter.h"
29#include "DOMWindow.h"
30#include "EventNames.h"
31#include "JSAttr.h"
32#include "JSCDATASection.h"
33#include "JSCSSStyleDeclaration.h"
34#include "JSCanvasRenderingContext2D.h"
35#include "JSComment.h"
36#include "JSDOMAttribute.h"
37#include "JSDOMBinding.h"
38#include "JSDOMConstructor.h"
39#include "JSDOMConvertBoolean.h"
40#include "JSDOMConvertCallbacks.h"
41#include "JSDOMConvertInterface.h"
42#include "JSDOMConvertNullable.h"
43#include "JSDOMConvertNumbers.h"
44#include "JSDOMConvertSequences.h"
45#include "JSDOMConvertStrings.h"
46#include "JSDOMConvertUnion.h"
47#include "JSDOMConvertVariadic.h"
48#include "JSDOMConvertXPathNSResolver.h"
49#include "JSDOMExceptionHandling.h"
50#include "JSDOMGlobalObject.h"
51#include "JSDOMImplementation.h"
52#include "JSDOMOperation.h"
53#include "JSDOMSelection.h"
54#include "JSDOMWindowBase.h"
55#include "JSDOMWrapperCache.h"
56#include "JSDocument.h"
57#include "JSDocumentFragment.h"
58#include "JSDocumentTimeline.h"
59#include "JSDocumentType.h"
60#include "JSElement.h"
61#include "JSEvent.h"
62#include "JSEventListener.h"
63#include "JSFontFaceSet.h"
64#include "JSHTMLAllCollection.h"
65#include "JSHTMLCollection.h"
66#include "JSHTMLElement.h"
67#include "JSHTMLHeadElement.h"
68#include "JSHTMLScriptElement.h"
69#include "JSImageBitmapRenderingContext.h"
70#include "JSLocation.h"
71#include "JSNodeFilter.h"
72#include "JSNodeIterator.h"
73#include "JSNodeList.h"
74#include "JSProcessingInstruction.h"
75#include "JSRange.h"
76#include "JSSVGSVGElement.h"
77#include "JSStyleSheetList.h"
78#include "JSText.h"
79#include "JSTreeWalker.h"
80#include "JSUndoManager.h"
81#include "JSVisibilityState.h"
82#include "JSWebAnimation.h"
83#include "JSWebGLRenderingContext.h"
84#include "JSWindowProxy.h"
85#include "JSXPathExpression.h"
86#include "JSXPathNSResolver.h"
87#include "JSXPathResult.h"
88#include "RuntimeEnabledFeatures.h"
89#include "SVGDocument.h"
90#include "Settings.h"
91#include <JavaScriptCore/FrameTracers.h>
92#include <JavaScriptCore/JSArray.h>
93#include <JavaScriptCore/JSCInlines.h>
94#include <JavaScriptCore/JSString.h>
95#include <JavaScriptCore/ObjectConstructor.h>
96#include <wtf/GetPtr.h>
97#include <wtf/NeverDestroyed.h>
98#include <wtf/PointerPreparations.h>
99#include <wtf/Variant.h>
100
101#if ENABLE(FULLSCREEN_API)
102#include "DocumentFullscreen.h"
103#endif
104
105#if ENABLE(TOUCH_EVENTS)
106#include "DocumentTouch.h"
107#include "JSEventTarget.h"
108#include "JSTouch.h"
109#include "JSTouchList.h"
110#endif
111
112
113namespace WebCore {
114using namespace JSC;
115
116String convertEnumerationToString(Document::ReadyState enumerationValue)
117{
118 static const NeverDestroyed<String> values[] = {
119 MAKE_STATIC_STRING_IMPL("loading"),
120 MAKE_STATIC_STRING_IMPL("interactive"),
121 MAKE_STATIC_STRING_IMPL("complete"),
122 };
123 static_assert(static_cast<size_t>(Document::ReadyState::Loading) == 0, "Document::ReadyState::Loading is not 0 as expected");
124 static_assert(static_cast<size_t>(Document::ReadyState::Interactive) == 1, "Document::ReadyState::Interactive is not 1 as expected");
125 static_assert(static_cast<size_t>(Document::ReadyState::Complete) == 2, "Document::ReadyState::Complete is not 2 as expected");
126 ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
127 return values[static_cast<size_t>(enumerationValue)];
128}
129
130template<> JSString* convertEnumerationToJS(ExecState& state, Document::ReadyState enumerationValue)
131{
132 return jsStringWithCache(&state, convertEnumerationToString(enumerationValue));
133}
134
135template<> Optional<Document::ReadyState> parseEnumeration<Document::ReadyState>(ExecState& state, JSValue value)
136{
137 auto stringValue = value.toWTFString(&state);
138 if (stringValue == "loading")
139 return Document::ReadyState::Loading;
140 if (stringValue == "interactive")
141 return Document::ReadyState::Interactive;
142 if (stringValue == "complete")
143 return Document::ReadyState::Complete;
144 return WTF::nullopt;
145}
146
147template<> const char* expectedEnumerationValues<Document::ReadyState>()
148{
149 return "\"loading\", \"interactive\", \"complete\"";
150}
151
152// Functions
153
154JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagName(JSC::ExecState*);
155JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagNameNS(JSC::ExecState*);
156JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByClassName(JSC::ExecState*);
157JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElement(JSC::ExecState*);
158JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElementNS(JSC::ExecState*);
159JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateDocumentFragment(JSC::ExecState*);
160JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTextNode(JSC::ExecState*);
161JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateCDATASection(JSC::ExecState*);
162JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateComment(JSC::ExecState*);
163JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateProcessingInstruction(JSC::ExecState*);
164JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionImportNode(JSC::ExecState*);
165JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionAdoptNode(JSC::ExecState*);
166JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttribute(JSC::ExecState*);
167JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttributeNS(JSC::ExecState*);
168JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateEvent(JSC::ExecState*);
169JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateRange(JSC::ExecState*);
170JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNodeIterator(JSC::ExecState*);
171JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTreeWalker(JSC::ExecState*);
172JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByName(JSC::ExecState*);
173JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionOpen(JSC::ExecState*);
174JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionClose(JSC::ExecState*);
175JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWrite(JSC::ExecState*);
176JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWriteln(JSC::ExecState*);
177JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionHasFocus(JSC::ExecState*);
178JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionExecCommand(JSC::ExecState*);
179JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandEnabled(JSC::ExecState*);
180JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandIndeterm(JSC::ExecState*);
181JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandState(JSC::ExecState*);
182JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandSupported(JSC::ExecState*);
183JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandValue(JSC::ExecState*);
184JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetSelection(JSC::ExecState*);
185JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateExpression(JSC::ExecState*);
186JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNSResolver(JSC::ExecState*);
187JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionEvaluate(JSC::ExecState*);
188#if ENABLE(POINTER_LOCK)
189JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionExitPointerLock(JSC::ExecState*);
190#endif
191JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetOverrideStyle(JSC::ExecState*);
192JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCaretRangeFromPoint(JSC::ExecState*);
193JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetCSSCanvasContext(JSC::ExecState*);
194JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionClear(JSC::ExecState*);
195JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCaptureEvents(JSC::ExecState*);
196JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionReleaseEvents(JSC::ExecState*);
197JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetAnimations(JSC::ExecState*);
198#if ENABLE(FULLSCREEN_API)
199JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWebkitExitFullscreen(JSC::ExecState*);
200#endif
201#if ENABLE(FULLSCREEN_API)
202JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWebkitCancelFullScreen(JSC::ExecState*);
203#endif
204JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionElementFromPoint(JSC::ExecState*);
205JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionElementsFromPoint(JSC::ExecState*);
206#if ENABLE(TOUCH_EVENTS)
207JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTouch(JSC::ExecState*);
208#endif
209#if ENABLE(TOUCH_EVENTS)
210JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTouchList(JSC::ExecState*);
211#endif
212JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementById(JSC::ExecState*);
213JSC::EncodedJSValue JIT_OPERATION unsafeJsDocumentPrototypeFunctionGetElementById(JSC::ExecState*, JSDocument*, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>);
214JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionPrepend(JSC::ExecState*);
215JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionAppend(JSC::ExecState*);
216JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelector(JSC::ExecState*);
217JSC::EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelectorAll(JSC::ExecState*);
218
219// Attributes
220
221JSC::EncodedJSValue jsDocumentConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
222bool setJSDocumentConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
223JSC::EncodedJSValue jsDocumentImplementation(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
224JSC::EncodedJSValue jsDocumentURL(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
225JSC::EncodedJSValue jsDocumentDocumentURI(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
226JSC::EncodedJSValue jsDocumentOrigin(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
227JSC::EncodedJSValue jsDocumentCompatMode(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
228JSC::EncodedJSValue jsDocumentCharacterSet(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
229JSC::EncodedJSValue jsDocumentCharset(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
230JSC::EncodedJSValue jsDocumentInputEncoding(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
231JSC::EncodedJSValue jsDocumentContentType(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
232JSC::EncodedJSValue jsDocumentDoctype(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
233JSC::EncodedJSValue jsDocumentDocumentElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
234JSC::EncodedJSValue jsDocumentLocation(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
235bool setJSDocumentLocation(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
236JSC::EncodedJSValue jsDocumentDomain(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
237bool setJSDocumentDomain(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
238JSC::EncodedJSValue jsDocumentReferrer(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
239JSC::EncodedJSValue jsDocumentCookie(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
240bool setJSDocumentCookie(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
241JSC::EncodedJSValue jsDocumentLastModified(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
242JSC::EncodedJSValue jsDocumentReadyState(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
243JSC::EncodedJSValue jsDocumentTitle(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
244bool setJSDocumentTitle(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
245JSC::EncodedJSValue jsDocumentDir(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
246bool setJSDocumentDir(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
247JSC::EncodedJSValue jsDocumentBody(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
248bool setJSDocumentBody(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
249JSC::EncodedJSValue jsDocumentHead(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
250JSC::EncodedJSValue jsDocumentImages(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
251JSC::EncodedJSValue jsDocumentEmbeds(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
252JSC::EncodedJSValue jsDocumentPlugins(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
253JSC::EncodedJSValue jsDocumentLinks(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
254JSC::EncodedJSValue jsDocumentForms(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
255JSC::EncodedJSValue jsDocumentScripts(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
256JSC::EncodedJSValue jsDocumentCurrentScript(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
257JSC::EncodedJSValue jsDocumentDefaultView(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
258JSC::EncodedJSValue jsDocumentDesignMode(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
259bool setJSDocumentDesignMode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
260JSC::EncodedJSValue jsDocumentUndoManager(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
261JSC::EncodedJSValue jsDocumentOnreadystatechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
262bool setJSDocumentOnreadystatechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
263JSC::EncodedJSValue jsDocumentScrollingElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
264#if ENABLE(POINTER_LOCK)
265JSC::EncodedJSValue jsDocumentOnpointerlockchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
266bool setJSDocumentOnpointerlockchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
267#endif
268#if ENABLE(POINTER_LOCK)
269JSC::EncodedJSValue jsDocumentOnpointerlockerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
270bool setJSDocumentOnpointerlockerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
271#endif
272JSC::EncodedJSValue jsDocumentFonts(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
273JSC::EncodedJSValue jsDocumentHidden(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
274JSC::EncodedJSValue jsDocumentVisibilityState(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
275JSC::EncodedJSValue jsDocumentOnvisibilitychange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
276bool setJSDocumentOnvisibilitychange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
277JSC::EncodedJSValue jsDocumentXMLEncoding(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
278JSC::EncodedJSValue jsDocumentXMLVersion(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
279bool setJSDocumentXMLVersion(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
280JSC::EncodedJSValue jsDocumentXMLStandalone(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
281bool setJSDocumentXMLStandalone(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
282JSC::EncodedJSValue jsDocumentOnselectstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
283bool setJSDocumentOnselectstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
284JSC::EncodedJSValue jsDocumentOnselectionchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
285bool setJSDocumentOnselectionchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
286JSC::EncodedJSValue jsDocumentFgColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
287bool setJSDocumentFgColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
288JSC::EncodedJSValue jsDocumentLinkColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
289bool setJSDocumentLinkColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
290JSC::EncodedJSValue jsDocumentVlinkColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
291bool setJSDocumentVlinkColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
292JSC::EncodedJSValue jsDocumentAlinkColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
293bool setJSDocumentAlinkColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
294JSC::EncodedJSValue jsDocumentBgColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
295bool setJSDocumentBgColor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
296JSC::EncodedJSValue jsDocumentAnchors(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
297JSC::EncodedJSValue jsDocumentApplets(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
298JSC::EncodedJSValue jsDocumentAll(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
299bool setJSDocumentAll(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
300JSC::EncodedJSValue jsDocumentTimeline(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
301JSC::EncodedJSValue jsDocumentOncopy(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
302bool setJSDocumentOncopy(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
303JSC::EncodedJSValue jsDocumentOncut(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
304bool setJSDocumentOncut(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
305JSC::EncodedJSValue jsDocumentOnpaste(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
306bool setJSDocumentOnpaste(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
307JSC::EncodedJSValue jsDocumentOnbeforecopy(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
308bool setJSDocumentOnbeforecopy(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
309JSC::EncodedJSValue jsDocumentOnbeforecut(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
310bool setJSDocumentOnbeforecut(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
311JSC::EncodedJSValue jsDocumentOnbeforeinput(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
312bool setJSDocumentOnbeforeinput(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
313JSC::EncodedJSValue jsDocumentOnbeforepaste(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
314bool setJSDocumentOnbeforepaste(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
315#if ENABLE(FULLSCREEN_API)
316JSC::EncodedJSValue jsDocumentWebkitFullscreenEnabled(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
317#endif
318#if ENABLE(FULLSCREEN_API)
319JSC::EncodedJSValue jsDocumentWebkitFullscreenElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
320#endif
321#if ENABLE(FULLSCREEN_API)
322JSC::EncodedJSValue jsDocumentWebkitIsFullScreen(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
323#endif
324#if ENABLE(FULLSCREEN_API)
325JSC::EncodedJSValue jsDocumentWebkitFullScreenKeyboardInputAllowed(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
326#endif
327#if ENABLE(FULLSCREEN_API)
328JSC::EncodedJSValue jsDocumentWebkitCurrentFullScreenElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
329#endif
330#if ENABLE(FULLSCREEN_API)
331JSC::EncodedJSValue jsDocumentOnwebkitfullscreenchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
332bool setJSDocumentOnwebkitfullscreenchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
333#endif
334#if ENABLE(FULLSCREEN_API)
335JSC::EncodedJSValue jsDocumentOnwebkitfullscreenerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
336bool setJSDocumentOnwebkitfullscreenerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
337#endif
338JSC::EncodedJSValue jsDocumentActiveElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
339JSC::EncodedJSValue jsDocumentStyleSheets(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
340#if ENABLE(POINTER_LOCK)
341JSC::EncodedJSValue jsDocumentPointerLockElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
342#endif
343JSC::EncodedJSValue jsDocumentOnabort(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
344bool setJSDocumentOnabort(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
345JSC::EncodedJSValue jsDocumentOnblur(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
346bool setJSDocumentOnblur(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
347JSC::EncodedJSValue jsDocumentOncanplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
348bool setJSDocumentOncanplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
349JSC::EncodedJSValue jsDocumentOncanplaythrough(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
350bool setJSDocumentOncanplaythrough(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
351JSC::EncodedJSValue jsDocumentOnchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
352bool setJSDocumentOnchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
353JSC::EncodedJSValue jsDocumentOnclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
354bool setJSDocumentOnclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
355JSC::EncodedJSValue jsDocumentOncontextmenu(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
356bool setJSDocumentOncontextmenu(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
357JSC::EncodedJSValue jsDocumentOncuechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
358bool setJSDocumentOncuechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
359JSC::EncodedJSValue jsDocumentOndblclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
360bool setJSDocumentOndblclick(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
361JSC::EncodedJSValue jsDocumentOndrag(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
362bool setJSDocumentOndrag(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
363JSC::EncodedJSValue jsDocumentOndragend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
364bool setJSDocumentOndragend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
365JSC::EncodedJSValue jsDocumentOndragenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
366bool setJSDocumentOndragenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
367JSC::EncodedJSValue jsDocumentOndragleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
368bool setJSDocumentOndragleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
369JSC::EncodedJSValue jsDocumentOndragover(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
370bool setJSDocumentOndragover(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
371JSC::EncodedJSValue jsDocumentOndragstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
372bool setJSDocumentOndragstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
373JSC::EncodedJSValue jsDocumentOndrop(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
374bool setJSDocumentOndrop(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
375JSC::EncodedJSValue jsDocumentOndurationchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
376bool setJSDocumentOndurationchange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
377JSC::EncodedJSValue jsDocumentOnemptied(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
378bool setJSDocumentOnemptied(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
379JSC::EncodedJSValue jsDocumentOnended(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
380bool setJSDocumentOnended(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
381JSC::EncodedJSValue jsDocumentOnerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
382bool setJSDocumentOnerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
383JSC::EncodedJSValue jsDocumentOnfocus(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
384bool setJSDocumentOnfocus(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
385JSC::EncodedJSValue jsDocumentOninput(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
386bool setJSDocumentOninput(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
387JSC::EncodedJSValue jsDocumentOninvalid(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
388bool setJSDocumentOninvalid(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
389JSC::EncodedJSValue jsDocumentOnkeydown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
390bool setJSDocumentOnkeydown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
391JSC::EncodedJSValue jsDocumentOnkeypress(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
392bool setJSDocumentOnkeypress(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
393JSC::EncodedJSValue jsDocumentOnkeyup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
394bool setJSDocumentOnkeyup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
395JSC::EncodedJSValue jsDocumentOnload(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
396bool setJSDocumentOnload(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
397JSC::EncodedJSValue jsDocumentOnloadeddata(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
398bool setJSDocumentOnloadeddata(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
399JSC::EncodedJSValue jsDocumentOnloadedmetadata(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
400bool setJSDocumentOnloadedmetadata(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
401JSC::EncodedJSValue jsDocumentOnloadstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
402bool setJSDocumentOnloadstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
403JSC::EncodedJSValue jsDocumentOnmousedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
404bool setJSDocumentOnmousedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
405JSC::EncodedJSValue jsDocumentOnmouseenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
406bool setJSDocumentOnmouseenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
407JSC::EncodedJSValue jsDocumentOnmouseleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
408bool setJSDocumentOnmouseleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
409JSC::EncodedJSValue jsDocumentOnmousemove(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
410bool setJSDocumentOnmousemove(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
411JSC::EncodedJSValue jsDocumentOnmouseout(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
412bool setJSDocumentOnmouseout(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
413JSC::EncodedJSValue jsDocumentOnmouseover(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
414bool setJSDocumentOnmouseover(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
415JSC::EncodedJSValue jsDocumentOnmouseup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
416bool setJSDocumentOnmouseup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
417JSC::EncodedJSValue jsDocumentOnmousewheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
418bool setJSDocumentOnmousewheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
419JSC::EncodedJSValue jsDocumentOnpause(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
420bool setJSDocumentOnpause(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
421JSC::EncodedJSValue jsDocumentOnplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
422bool setJSDocumentOnplay(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
423JSC::EncodedJSValue jsDocumentOnplaying(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
424bool setJSDocumentOnplaying(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
425JSC::EncodedJSValue jsDocumentOnprogress(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
426bool setJSDocumentOnprogress(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
427JSC::EncodedJSValue jsDocumentOnratechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
428bool setJSDocumentOnratechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
429JSC::EncodedJSValue jsDocumentOnrejectionhandled(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
430bool setJSDocumentOnrejectionhandled(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
431JSC::EncodedJSValue jsDocumentOnreset(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
432bool setJSDocumentOnreset(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
433JSC::EncodedJSValue jsDocumentOnresize(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
434bool setJSDocumentOnresize(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
435JSC::EncodedJSValue jsDocumentOnscroll(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
436bool setJSDocumentOnscroll(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
437JSC::EncodedJSValue jsDocumentOnseeked(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
438bool setJSDocumentOnseeked(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
439JSC::EncodedJSValue jsDocumentOnseeking(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
440bool setJSDocumentOnseeking(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
441JSC::EncodedJSValue jsDocumentOnselect(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
442bool setJSDocumentOnselect(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
443JSC::EncodedJSValue jsDocumentOnstalled(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
444bool setJSDocumentOnstalled(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
445JSC::EncodedJSValue jsDocumentOnsubmit(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
446bool setJSDocumentOnsubmit(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
447JSC::EncodedJSValue jsDocumentOnsuspend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
448bool setJSDocumentOnsuspend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
449JSC::EncodedJSValue jsDocumentOntimeupdate(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
450bool setJSDocumentOntimeupdate(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
451JSC::EncodedJSValue jsDocumentOntoggle(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
452bool setJSDocumentOntoggle(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
453JSC::EncodedJSValue jsDocumentOnunhandledrejection(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
454bool setJSDocumentOnunhandledrejection(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
455JSC::EncodedJSValue jsDocumentOnvolumechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
456bool setJSDocumentOnvolumechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
457JSC::EncodedJSValue jsDocumentOnwaiting(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
458bool setJSDocumentOnwaiting(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
459JSC::EncodedJSValue jsDocumentOntransitionend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
460bool setJSDocumentOntransitionend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
461JSC::EncodedJSValue jsDocumentOntransitionrun(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
462bool setJSDocumentOntransitionrun(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
463JSC::EncodedJSValue jsDocumentOntransitionstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
464bool setJSDocumentOntransitionstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
465JSC::EncodedJSValue jsDocumentOntransitioncancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
466bool setJSDocumentOntransitioncancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
467JSC::EncodedJSValue jsDocumentOnanimationend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
468bool setJSDocumentOnanimationend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
469JSC::EncodedJSValue jsDocumentOnanimationiteration(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
470bool setJSDocumentOnanimationiteration(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
471JSC::EncodedJSValue jsDocumentOnanimationstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
472bool setJSDocumentOnanimationstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
473JSC::EncodedJSValue jsDocumentOnanimationcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
474bool setJSDocumentOnanimationcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
475JSC::EncodedJSValue jsDocumentOngotpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
476bool setJSDocumentOngotpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
477JSC::EncodedJSValue jsDocumentOnlostpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
478bool setJSDocumentOnlostpointercapture(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
479JSC::EncodedJSValue jsDocumentOnpointerdown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
480bool setJSDocumentOnpointerdown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
481JSC::EncodedJSValue jsDocumentOnpointermove(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
482bool setJSDocumentOnpointermove(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
483JSC::EncodedJSValue jsDocumentOnpointerup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
484bool setJSDocumentOnpointerup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
485JSC::EncodedJSValue jsDocumentOnpointercancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
486bool setJSDocumentOnpointercancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
487JSC::EncodedJSValue jsDocumentOnpointerover(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
488bool setJSDocumentOnpointerover(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
489JSC::EncodedJSValue jsDocumentOnpointerout(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
490bool setJSDocumentOnpointerout(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
491JSC::EncodedJSValue jsDocumentOnpointerenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
492bool setJSDocumentOnpointerenter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
493JSC::EncodedJSValue jsDocumentOnpointerleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
494bool setJSDocumentOnpointerleave(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
495JSC::EncodedJSValue jsDocumentOnsearch(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
496bool setJSDocumentOnsearch(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
497JSC::EncodedJSValue jsDocumentOnwheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
498bool setJSDocumentOnwheel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
499#if ENABLE(TOUCH_EVENTS)
500JSC::EncodedJSValue jsDocumentOntouchcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
501bool setJSDocumentOntouchcancel(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
502#endif
503#if ENABLE(TOUCH_EVENTS)
504JSC::EncodedJSValue jsDocumentOntouchend(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
505bool setJSDocumentOntouchend(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
506#endif
507#if ENABLE(TOUCH_EVENTS)
508JSC::EncodedJSValue jsDocumentOntouchmove(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
509bool setJSDocumentOntouchmove(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
510#endif
511#if ENABLE(TOUCH_EVENTS)
512JSC::EncodedJSValue jsDocumentOntouchstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
513bool setJSDocumentOntouchstart(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
514#endif
515#if ENABLE(TOUCH_EVENTS)
516JSC::EncodedJSValue jsDocumentOntouchforcechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
517bool setJSDocumentOntouchforcechange(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
518#endif
519#if ENABLE(MOUSE_FORCE_EVENTS)
520JSC::EncodedJSValue jsDocumentOnwebkitmouseforcechanged(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
521bool setJSDocumentOnwebkitmouseforcechanged(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
522#endif
523#if ENABLE(MOUSE_FORCE_EVENTS)
524JSC::EncodedJSValue jsDocumentOnwebkitmouseforcedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
525bool setJSDocumentOnwebkitmouseforcedown(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
526#endif
527#if ENABLE(MOUSE_FORCE_EVENTS)
528JSC::EncodedJSValue jsDocumentOnwebkitmouseforcewillbegin(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
529bool setJSDocumentOnwebkitmouseforcewillbegin(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
530#endif
531#if ENABLE(MOUSE_FORCE_EVENTS)
532JSC::EncodedJSValue jsDocumentOnwebkitmouseforceup(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
533bool setJSDocumentOnwebkitmouseforceup(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
534#endif
535JSC::EncodedJSValue jsDocumentChildren(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
536JSC::EncodedJSValue jsDocumentFirstElementChild(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
537JSC::EncodedJSValue jsDocumentLastElementChild(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
538JSC::EncodedJSValue jsDocumentChildElementCount(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
539JSC::EncodedJSValue jsDocumentRootElement(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
540
541static const JSC::DOMJIT::Signature DOMJITSignatureForDocumentGetElementById((uintptr_t)unsafeJsDocumentPrototypeFunctionGetElementById, JSDocument::info(), JSC::DOMJIT::Effect::forRead(DOMJIT::AbstractHeapRepository::DOM), DOMJIT::IDLResultTypeFilter<IDLNullable<IDLInterface<Element>>>::value, DOMJIT::IDLArgumentTypeFilter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::value);
542
543static const JSC::DOMJIT::GetterSetter DOMJITAttributeForDocumentDocumentElement {
544 jsDocumentDocumentElement,
545#if ENABLE(JIT)
546 &compileDocumentDocumentElementAttribute,
547#else
548 nullptr,
549#endif
550 DOMJIT::IDLResultTypeFilter<IDLNullable<IDLInterface<Element>>>::value
551};
552
553static const JSC::DOMJIT::GetterSetter DOMJITAttributeForDocumentBody {
554 jsDocumentBody,
555#if ENABLE(JIT)
556 &compileDocumentBodyAttribute,
557#else
558 nullptr,
559#endif
560 DOMJIT::IDLResultTypeFilter<IDLNullable<IDLInterface<HTMLElement>>>::value
561};
562
563class JSDocumentPrototype : public JSC::JSNonFinalObject {
564public:
565 using Base = JSC::JSNonFinalObject;
566 static JSDocumentPrototype* create(JSC::VM& vm, JSDOMGlobalObject* globalObject, JSC::Structure* structure)
567 {
568 JSDocumentPrototype* ptr = new (NotNull, JSC::allocateCell<JSDocumentPrototype>(vm.heap)) JSDocumentPrototype(vm, globalObject, structure);
569 ptr->finishCreation(vm);
570 return ptr;
571 }
572
573 DECLARE_INFO;
574 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
575 {
576 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
577 }
578
579private:
580 JSDocumentPrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
581 : JSC::JSNonFinalObject(vm, structure)
582 {
583 }
584
585 void finishCreation(JSC::VM&);
586};
587
588using JSDocumentConstructor = JSDOMConstructor<JSDocument>;
589
590/* Hash table */
591
592static const struct CompactHashIndex JSDocumentTableIndex[2] = {
593 { 0, -1 },
594 { -1, -1 },
595};
596
597
598static const HashTableValue JSDocumentTableValues[] =
599{
600 { "location", static_cast<unsigned>(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentLocation), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentLocation) } },
601};
602
603static const HashTable JSDocumentTable = { 1, 1, true, JSDocument::info(), JSDocumentTableValues, JSDocumentTableIndex };
604template<> EncodedJSValue JSC_HOST_CALL JSDocumentConstructor::construct(ExecState* state)
605{
606 VM& vm = state->vm();
607 auto throwScope = DECLARE_THROW_SCOPE(vm);
608 UNUSED_PARAM(throwScope);
609 auto* castedThis = jsCast<JSDocumentConstructor*>(state->jsCallee());
610 ASSERT(castedThis);
611 auto* context = castedThis->scriptExecutionContext();
612 if (UNLIKELY(!context))
613 return throwConstructorScriptExecutionContextUnavailableError(*state, throwScope, "Document");
614 ASSERT(context->isDocument());
615 auto& document = downcast<Document>(*context);
616 auto object = Document::create(document);
617 return JSValue::encode(toJSNewlyCreated<IDLInterface<Document>>(*state, *castedThis->globalObject(), WTFMove(object)));
618}
619
620template<> JSValue JSDocumentConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
621{
622 return JSNode::getConstructor(vm, &globalObject);
623}
624
625template<> void JSDocumentConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
626{
627 putDirect(vm, vm.propertyNames->prototype, JSDocument::prototype(vm, globalObject), JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
628 putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String("Document"_s)), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
629 putDirect(vm, vm.propertyNames->length, jsNumber(0), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
630}
631
632template<> const ClassInfo JSDocumentConstructor::s_info = { "Document", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocumentConstructor) };
633
634/* Hash table for prototype */
635
636static const HashTableValue JSDocumentPrototypeTableValues[] =
637{
638 { "constructor", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentConstructor) } },
639 { "implementation", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentImplementation), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
640 { "URL", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentURL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
641 { "documentURI", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentDocumentURI), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
642 { "origin", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOrigin), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
643 { "compatMode", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentCompatMode), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
644 { "characterSet", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentCharacterSet), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
645 { "charset", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentCharset), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
646 { "inputEncoding", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentInputEncoding), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
647 { "contentType", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentContentType), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
648 { "doctype", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentDoctype), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
649 { "documentElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMJITAttribute), NoIntrinsic, { (intptr_t)static_cast<const JSC::DOMJIT::GetterSetter*>(&DOMJITAttributeForDocumentDocumentElement), (intptr_t) (0) } },
650 { "domain", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentDomain), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentDomain) } },
651 { "referrer", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentReferrer), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
652 { "cookie", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentCookie), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentCookie) } },
653 { "lastModified", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentLastModified), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
654 { "readyState", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentReadyState), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
655 { "title", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentTitle), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentTitle) } },
656 { "dir", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentDir), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentDir) } },
657 { "body", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMJITAttribute), NoIntrinsic, { (intptr_t)static_cast<const JSC::DOMJIT::GetterSetter*>(&DOMJITAttributeForDocumentBody), (intptr_t) (setJSDocumentBody) } },
658 { "head", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentHead), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
659 { "images", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentImages), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
660 { "embeds", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentEmbeds), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
661 { "plugins", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentPlugins), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
662 { "links", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentLinks), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
663 { "forms", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentForms), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
664 { "scripts", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentScripts), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
665 { "currentScript", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentCurrentScript), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
666 { "defaultView", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentDefaultView), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
667 { "designMode", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentDesignMode), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentDesignMode) } },
668 { "undoManager", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentUndoManager), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
669 { "onreadystatechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnreadystatechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnreadystatechange) } },
670 { "scrollingElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentScrollingElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
671#if ENABLE(POINTER_LOCK)
672 { "onpointerlockchange", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerlockchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerlockchange) } },
673#else
674 { 0, 0, NoIntrinsic, { 0, 0 } },
675#endif
676#if ENABLE(POINTER_LOCK)
677 { "onpointerlockerror", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerlockerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerlockerror) } },
678#else
679 { 0, 0, NoIntrinsic, { 0, 0 } },
680#endif
681 { "fonts", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentFonts), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
682 { "hidden", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentHidden), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
683 { "visibilityState", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentVisibilityState), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
684 { "onvisibilitychange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnvisibilitychange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnvisibilitychange) } },
685 { "xmlEncoding", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentXMLEncoding), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
686 { "xmlVersion", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentXMLVersion), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentXMLVersion) } },
687 { "xmlStandalone", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentXMLStandalone), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentXMLStandalone) } },
688 { "onselectstart", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnselectstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnselectstart) } },
689 { "onselectionchange", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnselectionchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnselectionchange) } },
690 { "fgColor", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentFgColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentFgColor) } },
691 { "linkColor", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentLinkColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentLinkColor) } },
692 { "vlinkColor", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentVlinkColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentVlinkColor) } },
693 { "alinkColor", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentAlinkColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentAlinkColor) } },
694 { "bgColor", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentBgColor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentBgColor) } },
695 { "anchors", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentAnchors), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
696 { "applets", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentApplets), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
697 { "all", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentAll), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentAll) } },
698 { "timeline", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentTimeline), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
699 { "oncopy", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOncopy), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOncopy) } },
700 { "oncut", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOncut), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOncut) } },
701 { "onpaste", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpaste), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpaste) } },
702 { "onbeforecopy", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnbeforecopy), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnbeforecopy) } },
703 { "onbeforecut", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnbeforecut), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnbeforecut) } },
704 { "onbeforeinput", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnbeforeinput), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnbeforeinput) } },
705 { "onbeforepaste", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnbeforepaste), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnbeforepaste) } },
706#if ENABLE(FULLSCREEN_API)
707 { "webkitFullscreenEnabled", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentWebkitFullscreenEnabled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
708#else
709 { 0, 0, NoIntrinsic, { 0, 0 } },
710#endif
711#if ENABLE(FULLSCREEN_API)
712 { "webkitFullscreenElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentWebkitFullscreenElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
713#else
714 { 0, 0, NoIntrinsic, { 0, 0 } },
715#endif
716#if ENABLE(FULLSCREEN_API)
717 { "webkitIsFullScreen", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentWebkitIsFullScreen), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
718#else
719 { 0, 0, NoIntrinsic, { 0, 0 } },
720#endif
721#if ENABLE(FULLSCREEN_API)
722 { "webkitFullScreenKeyboardInputAllowed", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentWebkitFullScreenKeyboardInputAllowed), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
723#else
724 { 0, 0, NoIntrinsic, { 0, 0 } },
725#endif
726#if ENABLE(FULLSCREEN_API)
727 { "webkitCurrentFullScreenElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentWebkitCurrentFullScreenElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
728#else
729 { 0, 0, NoIntrinsic, { 0, 0 } },
730#endif
731#if ENABLE(FULLSCREEN_API)
732 { "onwebkitfullscreenchange", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwebkitfullscreenchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwebkitfullscreenchange) } },
733#else
734 { 0, 0, NoIntrinsic, { 0, 0 } },
735#endif
736#if ENABLE(FULLSCREEN_API)
737 { "onwebkitfullscreenerror", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwebkitfullscreenerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwebkitfullscreenerror) } },
738#else
739 { 0, 0, NoIntrinsic, { 0, 0 } },
740#endif
741 { "activeElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentActiveElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
742 { "styleSheets", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentStyleSheets), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
743#if ENABLE(POINTER_LOCK)
744 { "pointerLockElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentPointerLockElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
745#else
746 { 0, 0, NoIntrinsic, { 0, 0 } },
747#endif
748 { "onabort", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnabort), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnabort) } },
749 { "onblur", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnblur), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnblur) } },
750 { "oncanplay", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOncanplay), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOncanplay) } },
751 { "oncanplaythrough", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOncanplaythrough), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOncanplaythrough) } },
752 { "onchange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnchange) } },
753 { "onclick", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnclick), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnclick) } },
754 { "oncontextmenu", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOncontextmenu), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOncontextmenu) } },
755 { "oncuechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOncuechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOncuechange) } },
756 { "ondblclick", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndblclick), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndblclick) } },
757 { "ondrag", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndrag), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndrag) } },
758 { "ondragend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndragend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndragend) } },
759 { "ondragenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndragenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndragenter) } },
760 { "ondragleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndragleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndragleave) } },
761 { "ondragover", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndragover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndragover) } },
762 { "ondragstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndragstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndragstart) } },
763 { "ondrop", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndrop), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndrop) } },
764 { "ondurationchange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOndurationchange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOndurationchange) } },
765 { "onemptied", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnemptied), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnemptied) } },
766 { "onended", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnended), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnended) } },
767 { "onerror", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnerror) } },
768 { "onfocus", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnfocus), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnfocus) } },
769 { "oninput", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOninput), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOninput) } },
770 { "oninvalid", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOninvalid), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOninvalid) } },
771 { "onkeydown", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnkeydown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnkeydown) } },
772 { "onkeypress", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnkeypress), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnkeypress) } },
773 { "onkeyup", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnkeyup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnkeyup) } },
774 { "onload", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnload), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnload) } },
775 { "onloadeddata", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnloadeddata), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnloadeddata) } },
776 { "onloadedmetadata", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnloadedmetadata), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnloadedmetadata) } },
777 { "onloadstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnloadstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnloadstart) } },
778 { "onmousedown", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmousedown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmousedown) } },
779 { "onmouseenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmouseenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmouseenter) } },
780 { "onmouseleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmouseleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmouseleave) } },
781 { "onmousemove", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmousemove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmousemove) } },
782 { "onmouseout", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmouseout), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmouseout) } },
783 { "onmouseover", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmouseover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmouseover) } },
784 { "onmouseup", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmouseup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmouseup) } },
785 { "onmousewheel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnmousewheel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnmousewheel) } },
786 { "onpause", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpause), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpause) } },
787 { "onplay", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnplay), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnplay) } },
788 { "onplaying", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnplaying), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnplaying) } },
789 { "onprogress", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnprogress), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnprogress) } },
790 { "onratechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnratechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnratechange) } },
791 { "onrejectionhandled", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnrejectionhandled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnrejectionhandled) } },
792 { "onreset", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnreset), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnreset) } },
793 { "onresize", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnresize), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnresize) } },
794 { "onscroll", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnscroll), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnscroll) } },
795 { "onseeked", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnseeked), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnseeked) } },
796 { "onseeking", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnseeking), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnseeking) } },
797 { "onselect", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnselect), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnselect) } },
798 { "onstalled", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnstalled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnstalled) } },
799 { "onsubmit", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnsubmit), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnsubmit) } },
800 { "onsuspend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnsuspend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnsuspend) } },
801 { "ontimeupdate", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntimeupdate), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntimeupdate) } },
802 { "ontoggle", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntoggle), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntoggle) } },
803 { "onunhandledrejection", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnunhandledrejection), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnunhandledrejection) } },
804 { "onvolumechange", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnvolumechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnvolumechange) } },
805 { "onwaiting", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwaiting), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwaiting) } },
806 { "ontransitionend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntransitionend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntransitionend) } },
807 { "ontransitionrun", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntransitionrun), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntransitionrun) } },
808 { "ontransitionstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntransitionstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntransitionstart) } },
809 { "ontransitioncancel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntransitioncancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntransitioncancel) } },
810 { "onanimationend", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnanimationend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnanimationend) } },
811 { "onanimationiteration", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnanimationiteration), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnanimationiteration) } },
812 { "onanimationstart", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnanimationstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnanimationstart) } },
813 { "onanimationcancel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnanimationcancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnanimationcancel) } },
814 { "ongotpointercapture", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOngotpointercapture), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOngotpointercapture) } },
815 { "onlostpointercapture", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnlostpointercapture), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnlostpointercapture) } },
816 { "onpointerdown", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerdown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerdown) } },
817 { "onpointermove", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointermove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointermove) } },
818 { "onpointerup", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerup) } },
819 { "onpointercancel", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointercancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointercancel) } },
820 { "onpointerover", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerover), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerover) } },
821 { "onpointerout", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerout), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerout) } },
822 { "onpointerenter", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerenter), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerenter) } },
823 { "onpointerleave", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnpointerleave), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnpointerleave) } },
824 { "onsearch", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnsearch), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnsearch) } },
825 { "onwheel", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwheel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwheel) } },
826#if ENABLE(TOUCH_EVENTS)
827 { "ontouchcancel", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntouchcancel), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntouchcancel) } },
828#else
829 { 0, 0, NoIntrinsic, { 0, 0 } },
830#endif
831#if ENABLE(TOUCH_EVENTS)
832 { "ontouchend", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntouchend), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntouchend) } },
833#else
834 { 0, 0, NoIntrinsic, { 0, 0 } },
835#endif
836#if ENABLE(TOUCH_EVENTS)
837 { "ontouchmove", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntouchmove), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntouchmove) } },
838#else
839 { 0, 0, NoIntrinsic, { 0, 0 } },
840#endif
841#if ENABLE(TOUCH_EVENTS)
842 { "ontouchstart", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntouchstart), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntouchstart) } },
843#else
844 { 0, 0, NoIntrinsic, { 0, 0 } },
845#endif
846#if ENABLE(TOUCH_EVENTS)
847 { "ontouchforcechange", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOntouchforcechange), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOntouchforcechange) } },
848#else
849 { 0, 0, NoIntrinsic, { 0, 0 } },
850#endif
851#if ENABLE(MOUSE_FORCE_EVENTS)
852 { "onwebkitmouseforcechanged", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwebkitmouseforcechanged), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwebkitmouseforcechanged) } },
853#else
854 { 0, 0, NoIntrinsic, { 0, 0 } },
855#endif
856#if ENABLE(MOUSE_FORCE_EVENTS)
857 { "onwebkitmouseforcedown", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwebkitmouseforcedown), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwebkitmouseforcedown) } },
858#else
859 { 0, 0, NoIntrinsic, { 0, 0 } },
860#endif
861#if ENABLE(MOUSE_FORCE_EVENTS)
862 { "onwebkitmouseforcewillbegin", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwebkitmouseforcewillbegin), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwebkitmouseforcewillbegin) } },
863#else
864 { 0, 0, NoIntrinsic, { 0, 0 } },
865#endif
866#if ENABLE(MOUSE_FORCE_EVENTS)
867 { "onwebkitmouseforceup", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentOnwebkitmouseforceup), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSDocumentOnwebkitmouseforceup) } },
868#else
869 { 0, 0, NoIntrinsic, { 0, 0 } },
870#endif
871 { "children", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentChildren), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
872 { "firstElementChild", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentFirstElementChild), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
873 { "lastElementChild", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentLastElementChild), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
874 { "childElementCount", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentChildElementCount), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
875 { "rootElement", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDocumentRootElement), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
876 { "getElementsByTagName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetElementsByTagName), (intptr_t) (1) } },
877 { "getElementsByTagNameNS", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetElementsByTagNameNS), (intptr_t) (2) } },
878 { "getElementsByClassName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetElementsByClassName), (intptr_t) (1) } },
879 { "createElement", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateElement), (intptr_t) (1) } },
880 { "createElementNS", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateElementNS), (intptr_t) (2) } },
881 { "createDocumentFragment", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateDocumentFragment), (intptr_t) (0) } },
882 { "createTextNode", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateTextNode), (intptr_t) (1) } },
883 { "createCDATASection", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateCDATASection), (intptr_t) (1) } },
884 { "createComment", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateComment), (intptr_t) (1) } },
885 { "createProcessingInstruction", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateProcessingInstruction), (intptr_t) (2) } },
886 { "importNode", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionImportNode), (intptr_t) (1) } },
887 { "adoptNode", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionAdoptNode), (intptr_t) (1) } },
888 { "createAttribute", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateAttribute), (intptr_t) (1) } },
889 { "createAttributeNS", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateAttributeNS), (intptr_t) (2) } },
890 { "createEvent", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateEvent), (intptr_t) (1) } },
891 { "createRange", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateRange), (intptr_t) (0) } },
892 { "createNodeIterator", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateNodeIterator), (intptr_t) (1) } },
893 { "createTreeWalker", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateTreeWalker), (intptr_t) (1) } },
894 { "getElementsByName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetElementsByName), (intptr_t) (1) } },
895 { "open", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionOpen), (intptr_t) (0) } },
896 { "close", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionClose), (intptr_t) (0) } },
897 { "write", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionWrite), (intptr_t) (0) } },
898 { "writeln", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionWriteln), (intptr_t) (0) } },
899 { "hasFocus", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionHasFocus), (intptr_t) (0) } },
900 { "execCommand", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionExecCommand), (intptr_t) (1) } },
901 { "queryCommandEnabled", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQueryCommandEnabled), (intptr_t) (1) } },
902 { "queryCommandIndeterm", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQueryCommandIndeterm), (intptr_t) (1) } },
903 { "queryCommandState", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQueryCommandState), (intptr_t) (1) } },
904 { "queryCommandSupported", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQueryCommandSupported), (intptr_t) (1) } },
905 { "queryCommandValue", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQueryCommandValue), (intptr_t) (1) } },
906 { "getSelection", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetSelection), (intptr_t) (0) } },
907 { "createExpression", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateExpression), (intptr_t) (0) } },
908 { "createNSResolver", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateNSResolver), (intptr_t) (1) } },
909 { "evaluate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionEvaluate), (intptr_t) (0) } },
910#if ENABLE(POINTER_LOCK)
911 { "exitPointerLock", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionExitPointerLock), (intptr_t) (0) } },
912#else
913 { 0, 0, NoIntrinsic, { 0, 0 } },
914#endif
915 { "getOverrideStyle", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetOverrideStyle), (intptr_t) (0) } },
916 { "caretRangeFromPoint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCaretRangeFromPoint), (intptr_t) (0) } },
917 { "getCSSCanvasContext", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetCSSCanvasContext), (intptr_t) (4) } },
918 { "clear", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionClear), (intptr_t) (0) } },
919 { "captureEvents", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCaptureEvents), (intptr_t) (0) } },
920 { "releaseEvents", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionReleaseEvents), (intptr_t) (0) } },
921 { "getAnimations", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetAnimations), (intptr_t) (0) } },
922#if ENABLE(FULLSCREEN_API)
923 { "webkitExitFullscreen", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionWebkitExitFullscreen), (intptr_t) (0) } },
924#else
925 { 0, 0, NoIntrinsic, { 0, 0 } },
926#endif
927#if ENABLE(FULLSCREEN_API)
928 { "webkitCancelFullScreen", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionWebkitCancelFullScreen), (intptr_t) (0) } },
929#else
930 { 0, 0, NoIntrinsic, { 0, 0 } },
931#endif
932 { "elementFromPoint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionElementFromPoint), (intptr_t) (2) } },
933 { "elementsFromPoint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionElementsFromPoint), (intptr_t) (2) } },
934#if ENABLE(TOUCH_EVENTS)
935 { "createTouch", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateTouch), (intptr_t) (0) } },
936#else
937 { 0, 0, NoIntrinsic, { 0, 0 } },
938#endif
939#if ENABLE(TOUCH_EVENTS)
940 { "createTouchList", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionCreateTouchList), (intptr_t) (0) } },
941#else
942 { 0, 0, NoIntrinsic, { 0, 0 } },
943#endif
944 { "getElementById", static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionGetElementById), (intptr_t) static_cast<const JSC::DOMJIT::Signature*>(&DOMJITSignatureForDocumentGetElementById) } },
945 { "prepend", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionPrepend), (intptr_t) (0) } },
946 { "append", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionAppend), (intptr_t) (0) } },
947 { "querySelector", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQuerySelector), (intptr_t) (1) } },
948 { "querySelectorAll", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsDocumentPrototypeFunctionQuerySelectorAll), (intptr_t) (1) } },
949};
950
951const ClassInfo JSDocumentPrototype::s_info = { "DocumentPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocumentPrototype) };
952
953void JSDocumentPrototype::finishCreation(VM& vm)
954{
955 Base::finishCreation(vm);
956 reifyStaticProperties(vm, JSDocument::info(), JSDocumentPrototypeTableValues, *this);
957 bool hasDisabledRuntimeProperties = false;
958 if (!RuntimeEnabledFeatures::sharedFeatures().webAnimationsEnabled()) {
959 hasDisabledRuntimeProperties = true;
960 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("getAnimations"), strlen("getAnimations"));
961 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
962 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
963 }
964#if ENABLE(FULLSCREEN_API)
965 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
966 hasDisabledRuntimeProperties = true;
967 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitExitFullscreen"), strlen("webkitExitFullscreen"));
968 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
969 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
970 }
971#endif
972#if ENABLE(FULLSCREEN_API)
973 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
974 hasDisabledRuntimeProperties = true;
975 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitCancelFullScreen"), strlen("webkitCancelFullScreen"));
976 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
977 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
978 }
979#endif
980 if (!RuntimeEnabledFeatures::sharedFeatures().undoManagerAPIEnabled()) {
981 hasDisabledRuntimeProperties = true;
982 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("undoManager"), strlen("undoManager"));
983 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
984 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
985 }
986 if (!RuntimeEnabledFeatures::sharedFeatures().webAnimationsEnabled()) {
987 hasDisabledRuntimeProperties = true;
988 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("timeline"), strlen("timeline"));
989 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
990 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
991 }
992#if ENABLE(FULLSCREEN_API)
993 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
994 hasDisabledRuntimeProperties = true;
995 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitFullscreenEnabled"), strlen("webkitFullscreenEnabled"));
996 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
997 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
998 }
999#endif
1000#if ENABLE(FULLSCREEN_API)
1001 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
1002 hasDisabledRuntimeProperties = true;
1003 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitFullscreenElement"), strlen("webkitFullscreenElement"));
1004 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1005 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1006 }
1007#endif
1008#if ENABLE(FULLSCREEN_API)
1009 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
1010 hasDisabledRuntimeProperties = true;
1011 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitIsFullScreen"), strlen("webkitIsFullScreen"));
1012 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1013 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1014 }
1015#endif
1016#if ENABLE(FULLSCREEN_API)
1017 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
1018 hasDisabledRuntimeProperties = true;
1019 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitFullScreenKeyboardInputAllowed"), strlen("webkitFullScreenKeyboardInputAllowed"));
1020 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1021 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1022 }
1023#endif
1024#if ENABLE(FULLSCREEN_API)
1025 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
1026 hasDisabledRuntimeProperties = true;
1027 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("webkitCurrentFullScreenElement"), strlen("webkitCurrentFullScreenElement"));
1028 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1029 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1030 }
1031#endif
1032#if ENABLE(FULLSCREEN_API)
1033 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
1034 hasDisabledRuntimeProperties = true;
1035 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("onwebkitfullscreenchange"), strlen("onwebkitfullscreenchange"));
1036 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1037 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1038 }
1039#endif
1040#if ENABLE(FULLSCREEN_API)
1041 if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settings().fullScreenEnabled()) {
1042 hasDisabledRuntimeProperties = true;
1043 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("onwebkitfullscreenerror"), strlen("onwebkitfullscreenerror"));
1044 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1045 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1046 }
1047#endif
1048#if ENABLE(TOUCH_EVENTS)
1049 if (!RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled()) {
1050 hasDisabledRuntimeProperties = true;
1051 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("ontouchcancel"), strlen("ontouchcancel"));
1052 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1053 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1054 }
1055#endif
1056#if ENABLE(TOUCH_EVENTS)
1057 if (!RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled()) {
1058 hasDisabledRuntimeProperties = true;
1059 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("ontouchend"), strlen("ontouchend"));
1060 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1061 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1062 }
1063#endif
1064#if ENABLE(TOUCH_EVENTS)
1065 if (!RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled()) {
1066 hasDisabledRuntimeProperties = true;
1067 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("ontouchmove"), strlen("ontouchmove"));
1068 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1069 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1070 }
1071#endif
1072#if ENABLE(TOUCH_EVENTS)
1073 if (!RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled()) {
1074 hasDisabledRuntimeProperties = true;
1075 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("ontouchstart"), strlen("ontouchstart"));
1076 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1077 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1078 }
1079#endif
1080#if ENABLE(TOUCH_EVENTS)
1081 if (!RuntimeEnabledFeatures::sharedFeatures().touchEventsEnabled()) {
1082 hasDisabledRuntimeProperties = true;
1083 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("ontouchforcechange"), strlen("ontouchforcechange"));
1084 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
1085 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
1086 }
1087#endif
1088 if (hasDisabledRuntimeProperties && structure()->isDictionary())
1089 flattenDictionaryObject(vm);
1090 JSObject& unscopables = *constructEmptyObject(globalObject()->globalExec(), globalObject()->nullPrototypeObjectStructure());
1091 unscopables.putDirect(vm, Identifier::fromString(&vm, "prepend"), jsBoolean(true));
1092 unscopables.putDirect(vm, Identifier::fromString(&vm, "append"), jsBoolean(true));
1093 putDirectWithoutTransition(vm, vm.propertyNames->unscopablesSymbol, &unscopables, JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::ReadOnly);
1094}
1095
1096const ClassInfo JSDocument::s_info = { "Document", &Base::s_info, &JSDocumentTable
1097#if ENABLE(JIT)
1098, &checkSubClassSnippetForJSDocument
1099#else
1100, nullptr
1101#endif
1102, CREATE_METHOD_TABLE(JSDocument) };
1103
1104JSDocument::JSDocument(Structure* structure, JSDOMGlobalObject& globalObject, Ref<Document>&& impl)
1105 : JSNode(structure, globalObject, WTFMove(impl))
1106{
1107}
1108
1109void JSDocument::finishCreation(VM& vm)
1110{
1111 Base::finishCreation(vm);
1112 ASSERT(inherits(vm, info()));
1113
1114}
1115
1116JSObject* JSDocument::createPrototype(VM& vm, JSDOMGlobalObject& globalObject)
1117{
1118 return JSDocumentPrototype::create(vm, &globalObject, JSDocumentPrototype::createStructure(vm, &globalObject, JSNode::prototype(vm, globalObject)));
1119}
1120
1121JSObject* JSDocument::prototype(VM& vm, JSDOMGlobalObject& globalObject)
1122{
1123 return getDOMPrototype<JSDocument>(vm, globalObject);
1124}
1125
1126JSValue JSDocument::getConstructor(VM& vm, const JSGlobalObject* globalObject)
1127{
1128 return getDOMConstructor<JSDocumentConstructor>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));
1129}
1130
1131template<> inline JSDocument* IDLAttribute<JSDocument>::cast(ExecState& state, EncodedJSValue thisValue)
1132{
1133 return jsDynamicCast<JSDocument*>(state.vm(), JSValue::decode(thisValue));
1134}
1135
1136template<> inline JSDocument* IDLOperation<JSDocument>::cast(ExecState& state)
1137{
1138 return jsDynamicCast<JSDocument*>(state.vm(), state.thisValue());
1139}
1140
1141EncodedJSValue jsDocumentConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1142{
1143 VM& vm = state->vm();
1144 auto throwScope = DECLARE_THROW_SCOPE(vm);
1145 auto* prototype = jsDynamicCast<JSDocumentPrototype*>(vm, JSValue::decode(thisValue));
1146 if (UNLIKELY(!prototype))
1147 return throwVMTypeError(state, throwScope);
1148 return JSValue::encode(JSDocument::getConstructor(state->vm(), prototype->globalObject()));
1149}
1150
1151bool setJSDocumentConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1152{
1153 VM& vm = state->vm();
1154 auto throwScope = DECLARE_THROW_SCOPE(vm);
1155 auto* prototype = jsDynamicCast<JSDocumentPrototype*>(vm, JSValue::decode(thisValue));
1156 if (UNLIKELY(!prototype)) {
1157 throwVMTypeError(state, throwScope);
1158 return false;
1159 }
1160 // Shadowing a built-in constructor
1161 return prototype->putDirect(vm, vm.propertyNames->constructor, JSValue::decode(encodedValue));
1162}
1163
1164static inline JSValue jsDocumentImplementationGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1165{
1166 UNUSED_PARAM(throwScope);
1167 UNUSED_PARAM(state);
1168 auto& impl = thisObject.wrapped();
1169 JSValue result = toJS<IDLInterface<DOMImplementation>>(state, *thisObject.globalObject(), throwScope, impl.implementation());
1170 return result;
1171}
1172
1173EncodedJSValue jsDocumentImplementation(ExecState* state, EncodedJSValue thisValue, PropertyName)
1174{
1175 return IDLAttribute<JSDocument>::get<jsDocumentImplementationGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "implementation");
1176}
1177
1178static inline JSValue jsDocumentURLGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1179{
1180 UNUSED_PARAM(throwScope);
1181 UNUSED_PARAM(state);
1182 auto& impl = thisObject.wrapped();
1183 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.urlForBindings());
1184 return result;
1185}
1186
1187EncodedJSValue jsDocumentURL(ExecState* state, EncodedJSValue thisValue, PropertyName)
1188{
1189 return IDLAttribute<JSDocument>::get<jsDocumentURLGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "URL");
1190}
1191
1192static inline JSValue jsDocumentDocumentURIGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1193{
1194 UNUSED_PARAM(throwScope);
1195 UNUSED_PARAM(state);
1196 auto& impl = thisObject.wrapped();
1197 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.urlForBindings());
1198 return result;
1199}
1200
1201EncodedJSValue jsDocumentDocumentURI(ExecState* state, EncodedJSValue thisValue, PropertyName)
1202{
1203 return IDLAttribute<JSDocument>::get<jsDocumentDocumentURIGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "documentURI");
1204}
1205
1206static inline JSValue jsDocumentOriginGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1207{
1208 UNUSED_PARAM(throwScope);
1209 UNUSED_PARAM(state);
1210 auto& impl = thisObject.wrapped();
1211 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.origin());
1212 return result;
1213}
1214
1215EncodedJSValue jsDocumentOrigin(ExecState* state, EncodedJSValue thisValue, PropertyName)
1216{
1217 return IDLAttribute<JSDocument>::get<jsDocumentOriginGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "origin");
1218}
1219
1220static inline JSValue jsDocumentCompatModeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1221{
1222 UNUSED_PARAM(throwScope);
1223 UNUSED_PARAM(state);
1224 auto& impl = thisObject.wrapped();
1225 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.compatMode());
1226 return result;
1227}
1228
1229EncodedJSValue jsDocumentCompatMode(ExecState* state, EncodedJSValue thisValue, PropertyName)
1230{
1231 return IDLAttribute<JSDocument>::get<jsDocumentCompatModeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "compatMode");
1232}
1233
1234static inline JSValue jsDocumentCharacterSetGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1235{
1236 UNUSED_PARAM(throwScope);
1237 UNUSED_PARAM(state);
1238 auto& impl = thisObject.wrapped();
1239 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.characterSetWithUTF8Fallback());
1240 return result;
1241}
1242
1243EncodedJSValue jsDocumentCharacterSet(ExecState* state, EncodedJSValue thisValue, PropertyName)
1244{
1245 return IDLAttribute<JSDocument>::get<jsDocumentCharacterSetGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "characterSet");
1246}
1247
1248static inline JSValue jsDocumentCharsetGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1249{
1250 UNUSED_PARAM(throwScope);
1251 UNUSED_PARAM(state);
1252 auto& impl = thisObject.wrapped();
1253 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.characterSetWithUTF8Fallback());
1254 return result;
1255}
1256
1257EncodedJSValue jsDocumentCharset(ExecState* state, EncodedJSValue thisValue, PropertyName)
1258{
1259 return IDLAttribute<JSDocument>::get<jsDocumentCharsetGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "charset");
1260}
1261
1262static inline JSValue jsDocumentInputEncodingGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1263{
1264 UNUSED_PARAM(throwScope);
1265 UNUSED_PARAM(state);
1266 auto& impl = thisObject.wrapped();
1267 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.characterSetWithUTF8Fallback());
1268 return result;
1269}
1270
1271EncodedJSValue jsDocumentInputEncoding(ExecState* state, EncodedJSValue thisValue, PropertyName)
1272{
1273 return IDLAttribute<JSDocument>::get<jsDocumentInputEncodingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "inputEncoding");
1274}
1275
1276static inline JSValue jsDocumentContentTypeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1277{
1278 UNUSED_PARAM(throwScope);
1279 UNUSED_PARAM(state);
1280 auto& impl = thisObject.wrapped();
1281 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.contentType());
1282 return result;
1283}
1284
1285EncodedJSValue jsDocumentContentType(ExecState* state, EncodedJSValue thisValue, PropertyName)
1286{
1287 return IDLAttribute<JSDocument>::get<jsDocumentContentTypeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "contentType");
1288}
1289
1290static inline JSValue jsDocumentDoctypeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1291{
1292 UNUSED_PARAM(throwScope);
1293 UNUSED_PARAM(state);
1294 auto& impl = thisObject.wrapped();
1295 JSValue result = toJS<IDLNullable<IDLInterface<DocumentType>>>(state, *thisObject.globalObject(), throwScope, impl.doctype());
1296 return result;
1297}
1298
1299EncodedJSValue jsDocumentDoctype(ExecState* state, EncodedJSValue thisValue, PropertyName)
1300{
1301 return IDLAttribute<JSDocument>::get<jsDocumentDoctypeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "doctype");
1302}
1303
1304static inline JSValue jsDocumentDocumentElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1305{
1306 UNUSED_PARAM(throwScope);
1307 UNUSED_PARAM(state);
1308 auto& impl = thisObject.wrapped();
1309 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, impl.documentElement());
1310 return result;
1311}
1312
1313EncodedJSValue jsDocumentDocumentElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
1314{
1315 return IDLAttribute<JSDocument>::get<jsDocumentDocumentElementGetter>(*state, thisValue, "documentElement");
1316}
1317
1318static inline JSValue jsDocumentLocationGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1319{
1320 UNUSED_PARAM(throwScope);
1321 UNUSED_PARAM(state);
1322 auto& impl = thisObject.wrapped();
1323 JSValue result = toJS<IDLNullable<IDLInterface<Location>>>(state, *thisObject.globalObject(), throwScope, impl.location());
1324 return result;
1325}
1326
1327EncodedJSValue jsDocumentLocation(ExecState* state, EncodedJSValue thisValue, PropertyName)
1328{
1329 return IDLAttribute<JSDocument>::get<jsDocumentLocationGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "location");
1330}
1331
1332static inline bool setJSDocumentLocationSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1333{
1334 UNUSED_PARAM(throwScope);
1335 auto id = Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("location"), strlen("location"));
1336 auto valueToForwardTo = thisObject.get(&state, id);
1337 RETURN_IF_EXCEPTION(throwScope, false);
1338 if (UNLIKELY(!valueToForwardTo.isObject())) {
1339 throwTypeError(&state, throwScope);
1340 return false;
1341 }
1342 auto forwardId = Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("href"), strlen("href"));
1343 PutPropertySlot slot(valueToForwardTo, false);
1344 asObject(valueToForwardTo)->methodTable(state.vm())->put(asObject(valueToForwardTo), &state, forwardId, value, slot);
1345 RETURN_IF_EXCEPTION(throwScope, false);
1346 return true;
1347}
1348
1349bool setJSDocumentLocation(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1350{
1351 return IDLAttribute<JSDocument>::set<setJSDocumentLocationSetter>(*state, thisValue, encodedValue, "location");
1352}
1353
1354static inline JSValue jsDocumentDomainGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1355{
1356 UNUSED_PARAM(throwScope);
1357 UNUSED_PARAM(state);
1358 auto& impl = thisObject.wrapped();
1359 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.domain());
1360 return result;
1361}
1362
1363EncodedJSValue jsDocumentDomain(ExecState* state, EncodedJSValue thisValue, PropertyName)
1364{
1365 return IDLAttribute<JSDocument>::get<jsDocumentDomainGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "domain");
1366}
1367
1368static inline bool setJSDocumentDomainSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1369{
1370 UNUSED_PARAM(throwScope);
1371 auto& impl = thisObject.wrapped();
1372 auto nativeValue = convert<IDLUSVString>(state, value);
1373 RETURN_IF_EXCEPTION(throwScope, false);
1374 AttributeSetter::call(state, throwScope, [&] {
1375 return impl.setDomain(WTFMove(nativeValue));
1376 });
1377 return true;
1378}
1379
1380bool setJSDocumentDomain(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1381{
1382 return IDLAttribute<JSDocument>::set<setJSDocumentDomainSetter>(*state, thisValue, encodedValue, "domain");
1383}
1384
1385static inline JSValue jsDocumentReferrerGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1386{
1387 UNUSED_PARAM(throwScope);
1388 UNUSED_PARAM(state);
1389 auto& impl = thisObject.wrapped();
1390 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.referrer());
1391 return result;
1392}
1393
1394EncodedJSValue jsDocumentReferrer(ExecState* state, EncodedJSValue thisValue, PropertyName)
1395{
1396 return IDLAttribute<JSDocument>::get<jsDocumentReferrerGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "referrer");
1397}
1398
1399static inline JSValue jsDocumentCookieGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1400{
1401 UNUSED_PARAM(throwScope);
1402 UNUSED_PARAM(state);
1403 auto& impl = thisObject.wrapped();
1404 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.cookie());
1405 return result;
1406}
1407
1408EncodedJSValue jsDocumentCookie(ExecState* state, EncodedJSValue thisValue, PropertyName)
1409{
1410 return IDLAttribute<JSDocument>::get<jsDocumentCookieGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "cookie");
1411}
1412
1413static inline bool setJSDocumentCookieSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1414{
1415 UNUSED_PARAM(throwScope);
1416 auto& impl = thisObject.wrapped();
1417 auto nativeValue = convert<IDLUSVString>(state, value);
1418 RETURN_IF_EXCEPTION(throwScope, false);
1419 AttributeSetter::call(state, throwScope, [&] {
1420 return impl.setCookie(WTFMove(nativeValue));
1421 });
1422 return true;
1423}
1424
1425bool setJSDocumentCookie(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1426{
1427 return IDLAttribute<JSDocument>::set<setJSDocumentCookieSetter>(*state, thisValue, encodedValue, "cookie");
1428}
1429
1430static inline JSValue jsDocumentLastModifiedGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1431{
1432 UNUSED_PARAM(throwScope);
1433 UNUSED_PARAM(state);
1434 auto& impl = thisObject.wrapped();
1435 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.lastModified());
1436 return result;
1437}
1438
1439EncodedJSValue jsDocumentLastModified(ExecState* state, EncodedJSValue thisValue, PropertyName)
1440{
1441 return IDLAttribute<JSDocument>::get<jsDocumentLastModifiedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "lastModified");
1442}
1443
1444static inline JSValue jsDocumentReadyStateGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1445{
1446 UNUSED_PARAM(throwScope);
1447 UNUSED_PARAM(state);
1448 auto& impl = thisObject.wrapped();
1449 JSValue result = toJS<IDLEnumeration<Document::ReadyState>>(state, throwScope, impl.readyState());
1450 return result;
1451}
1452
1453EncodedJSValue jsDocumentReadyState(ExecState* state, EncodedJSValue thisValue, PropertyName)
1454{
1455 return IDLAttribute<JSDocument>::get<jsDocumentReadyStateGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "readyState");
1456}
1457
1458static inline JSValue jsDocumentTitleGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1459{
1460 UNUSED_PARAM(throwScope);
1461 UNUSED_PARAM(state);
1462 auto& impl = thisObject.wrapped();
1463 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.title());
1464 return result;
1465}
1466
1467EncodedJSValue jsDocumentTitle(ExecState* state, EncodedJSValue thisValue, PropertyName)
1468{
1469 return IDLAttribute<JSDocument>::get<jsDocumentTitleGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "title");
1470}
1471
1472static inline bool setJSDocumentTitleSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1473{
1474 UNUSED_PARAM(throwScope);
1475 CustomElementReactionStack customElementReactionStack(state);
1476 auto& impl = thisObject.wrapped();
1477 auto nativeValue = convert<IDLDOMString>(state, value);
1478 RETURN_IF_EXCEPTION(throwScope, false);
1479 AttributeSetter::call(state, throwScope, [&] {
1480 return impl.setTitle(WTFMove(nativeValue));
1481 });
1482 return true;
1483}
1484
1485bool setJSDocumentTitle(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1486{
1487 return IDLAttribute<JSDocument>::set<setJSDocumentTitleSetter>(*state, thisValue, encodedValue, "title");
1488}
1489
1490static inline JSValue jsDocumentDirGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1491{
1492 UNUSED_PARAM(throwScope);
1493 UNUSED_PARAM(state);
1494 auto& impl = thisObject.wrapped();
1495 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.dir());
1496 return result;
1497}
1498
1499EncodedJSValue jsDocumentDir(ExecState* state, EncodedJSValue thisValue, PropertyName)
1500{
1501 return IDLAttribute<JSDocument>::get<jsDocumentDirGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "dir");
1502}
1503
1504static inline bool setJSDocumentDirSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1505{
1506 UNUSED_PARAM(throwScope);
1507 CustomElementReactionStack customElementReactionStack(state);
1508 auto& impl = thisObject.wrapped();
1509 auto nativeValue = convert<IDLDOMString>(state, value);
1510 RETURN_IF_EXCEPTION(throwScope, false);
1511 AttributeSetter::call(state, throwScope, [&] {
1512 return impl.setDir(WTFMove(nativeValue));
1513 });
1514 return true;
1515}
1516
1517bool setJSDocumentDir(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1518{
1519 return IDLAttribute<JSDocument>::set<setJSDocumentDirSetter>(*state, thisValue, encodedValue, "dir");
1520}
1521
1522static inline JSValue jsDocumentBodyGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1523{
1524 UNUSED_PARAM(throwScope);
1525 UNUSED_PARAM(state);
1526 auto& impl = thisObject.wrapped();
1527 JSValue result = toJS<IDLNullable<IDLInterface<HTMLElement>>>(state, *thisObject.globalObject(), throwScope, impl.bodyOrFrameset());
1528 return result;
1529}
1530
1531EncodedJSValue jsDocumentBody(ExecState* state, EncodedJSValue thisValue, PropertyName)
1532{
1533 return IDLAttribute<JSDocument>::get<jsDocumentBodyGetter>(*state, thisValue, "body");
1534}
1535
1536static inline bool setJSDocumentBodySetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1537{
1538 UNUSED_PARAM(throwScope);
1539 CustomElementReactionStack customElementReactionStack(state);
1540 auto& impl = thisObject.wrapped();
1541 auto nativeValue = convert<IDLNullable<IDLInterface<HTMLElement>>>(state, value, [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwAttributeTypeError(state, scope, "Document", "body", "HTMLElement"); });
1542 RETURN_IF_EXCEPTION(throwScope, false);
1543 AttributeSetter::call(state, throwScope, [&] {
1544 return impl.setBodyOrFrameset(WTFMove(nativeValue));
1545 });
1546 return true;
1547}
1548
1549bool setJSDocumentBody(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1550{
1551 return IDLAttribute<JSDocument>::set<setJSDocumentBodySetter>(*state, thisValue, encodedValue, "body");
1552}
1553
1554static inline JSValue jsDocumentHeadGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1555{
1556 UNUSED_PARAM(throwScope);
1557 UNUSED_PARAM(state);
1558 auto& impl = thisObject.wrapped();
1559 JSValue result = toJS<IDLNullable<IDLInterface<HTMLHeadElement>>>(state, *thisObject.globalObject(), throwScope, impl.head());
1560 return result;
1561}
1562
1563EncodedJSValue jsDocumentHead(ExecState* state, EncodedJSValue thisValue, PropertyName)
1564{
1565 return IDLAttribute<JSDocument>::get<jsDocumentHeadGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "head");
1566}
1567
1568static inline JSValue jsDocumentImagesGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1569{
1570 UNUSED_PARAM(throwScope);
1571 UNUSED_PARAM(state);
1572 auto& impl = thisObject.wrapped();
1573 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.images());
1574 return result;
1575}
1576
1577EncodedJSValue jsDocumentImages(ExecState* state, EncodedJSValue thisValue, PropertyName)
1578{
1579 return IDLAttribute<JSDocument>::get<jsDocumentImagesGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "images");
1580}
1581
1582static inline JSValue jsDocumentEmbedsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1583{
1584 UNUSED_PARAM(throwScope);
1585 UNUSED_PARAM(state);
1586 auto& impl = thisObject.wrapped();
1587 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.embeds());
1588 return result;
1589}
1590
1591EncodedJSValue jsDocumentEmbeds(ExecState* state, EncodedJSValue thisValue, PropertyName)
1592{
1593 return IDLAttribute<JSDocument>::get<jsDocumentEmbedsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "embeds");
1594}
1595
1596static inline JSValue jsDocumentPluginsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1597{
1598 UNUSED_PARAM(throwScope);
1599 UNUSED_PARAM(state);
1600 auto& impl = thisObject.wrapped();
1601 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.plugins());
1602 return result;
1603}
1604
1605EncodedJSValue jsDocumentPlugins(ExecState* state, EncodedJSValue thisValue, PropertyName)
1606{
1607 return IDLAttribute<JSDocument>::get<jsDocumentPluginsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "plugins");
1608}
1609
1610static inline JSValue jsDocumentLinksGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1611{
1612 UNUSED_PARAM(throwScope);
1613 UNUSED_PARAM(state);
1614 auto& impl = thisObject.wrapped();
1615 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.links());
1616 return result;
1617}
1618
1619EncodedJSValue jsDocumentLinks(ExecState* state, EncodedJSValue thisValue, PropertyName)
1620{
1621 return IDLAttribute<JSDocument>::get<jsDocumentLinksGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "links");
1622}
1623
1624static inline JSValue jsDocumentFormsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1625{
1626 UNUSED_PARAM(throwScope);
1627 UNUSED_PARAM(state);
1628 auto& impl = thisObject.wrapped();
1629 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.forms());
1630 return result;
1631}
1632
1633EncodedJSValue jsDocumentForms(ExecState* state, EncodedJSValue thisValue, PropertyName)
1634{
1635 return IDLAttribute<JSDocument>::get<jsDocumentFormsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "forms");
1636}
1637
1638static inline JSValue jsDocumentScriptsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1639{
1640 UNUSED_PARAM(throwScope);
1641 UNUSED_PARAM(state);
1642 auto& impl = thisObject.wrapped();
1643 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.scripts());
1644 return result;
1645}
1646
1647EncodedJSValue jsDocumentScripts(ExecState* state, EncodedJSValue thisValue, PropertyName)
1648{
1649 return IDLAttribute<JSDocument>::get<jsDocumentScriptsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "scripts");
1650}
1651
1652static inline JSValue jsDocumentCurrentScriptGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1653{
1654 UNUSED_PARAM(throwScope);
1655 UNUSED_PARAM(state);
1656 auto& impl = thisObject.wrapped();
1657 JSValue result = toJS<IDLNullable<IDLInterface<HTMLScriptElement>>>(state, *thisObject.globalObject(), throwScope, impl.currentScript());
1658 return result;
1659}
1660
1661EncodedJSValue jsDocumentCurrentScript(ExecState* state, EncodedJSValue thisValue, PropertyName)
1662{
1663 return IDLAttribute<JSDocument>::get<jsDocumentCurrentScriptGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "currentScript");
1664}
1665
1666static inline JSValue jsDocumentDefaultViewGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1667{
1668 UNUSED_PARAM(throwScope);
1669 UNUSED_PARAM(state);
1670 auto& impl = thisObject.wrapped();
1671 JSValue result = toJS<IDLNullable<IDLInterface<WindowProxy>>>(state, *thisObject.globalObject(), throwScope, impl.windowProxy());
1672 return result;
1673}
1674
1675EncodedJSValue jsDocumentDefaultView(ExecState* state, EncodedJSValue thisValue, PropertyName)
1676{
1677 return IDLAttribute<JSDocument>::get<jsDocumentDefaultViewGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "defaultView");
1678}
1679
1680static inline JSValue jsDocumentDesignModeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1681{
1682 UNUSED_PARAM(throwScope);
1683 UNUSED_PARAM(state);
1684 auto& impl = thisObject.wrapped();
1685 JSValue result = toJS<IDLDOMString>(state, throwScope, impl.designMode());
1686 return result;
1687}
1688
1689EncodedJSValue jsDocumentDesignMode(ExecState* state, EncodedJSValue thisValue, PropertyName)
1690{
1691 return IDLAttribute<JSDocument>::get<jsDocumentDesignModeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "designMode");
1692}
1693
1694static inline bool setJSDocumentDesignModeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1695{
1696 UNUSED_PARAM(throwScope);
1697 CustomElementReactionStack customElementReactionStack(state);
1698 auto& impl = thisObject.wrapped();
1699 auto nativeValue = convert<IDLDOMString>(state, value);
1700 RETURN_IF_EXCEPTION(throwScope, false);
1701 AttributeSetter::call(state, throwScope, [&] {
1702 return impl.setDesignMode(WTFMove(nativeValue));
1703 });
1704 return true;
1705}
1706
1707bool setJSDocumentDesignMode(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1708{
1709 return IDLAttribute<JSDocument>::set<setJSDocumentDesignModeSetter>(*state, thisValue, encodedValue, "designMode");
1710}
1711
1712static inline JSValue jsDocumentUndoManagerGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1713{
1714 UNUSED_PARAM(throwScope);
1715 UNUSED_PARAM(state);
1716 auto& impl = thisObject.wrapped();
1717 JSValue result = toJS<IDLInterface<UndoManager>>(state, *thisObject.globalObject(), throwScope, impl.undoManager());
1718 return result;
1719}
1720
1721EncodedJSValue jsDocumentUndoManager(ExecState* state, EncodedJSValue thisValue, PropertyName)
1722{
1723 return IDLAttribute<JSDocument>::get<jsDocumentUndoManagerGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "undoManager");
1724}
1725
1726static inline JSValue jsDocumentOnreadystatechangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1727{
1728 UNUSED_PARAM(throwScope);
1729 UNUSED_PARAM(state);
1730 return eventHandlerAttribute(thisObject.wrapped(), eventNames().readystatechangeEvent, worldForDOMObject(thisObject));
1731}
1732
1733EncodedJSValue jsDocumentOnreadystatechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
1734{
1735 return IDLAttribute<JSDocument>::get<jsDocumentOnreadystatechangeGetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, "onreadystatechange");
1736}
1737
1738static inline bool setJSDocumentOnreadystatechangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1739{
1740 UNUSED_PARAM(throwScope);
1741 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().readystatechangeEvent, value);
1742 return true;
1743}
1744
1745bool setJSDocumentOnreadystatechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1746{
1747 return IDLAttribute<JSDocument>::set<setJSDocumentOnreadystatechangeSetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, encodedValue, "onreadystatechange");
1748}
1749
1750static inline JSValue jsDocumentScrollingElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1751{
1752 UNUSED_PARAM(throwScope);
1753 UNUSED_PARAM(state);
1754 auto& impl = thisObject.wrapped();
1755 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, impl.scrollingElementForAPI());
1756 return result;
1757}
1758
1759EncodedJSValue jsDocumentScrollingElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
1760{
1761 return IDLAttribute<JSDocument>::get<jsDocumentScrollingElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "scrollingElement");
1762}
1763
1764#if ENABLE(POINTER_LOCK)
1765static inline JSValue jsDocumentOnpointerlockchangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1766{
1767 UNUSED_PARAM(throwScope);
1768 UNUSED_PARAM(state);
1769 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerlockchangeEvent, worldForDOMObject(thisObject));
1770}
1771
1772EncodedJSValue jsDocumentOnpointerlockchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
1773{
1774 return IDLAttribute<JSDocument>::get<jsDocumentOnpointerlockchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerlockchange");
1775}
1776
1777#endif
1778
1779#if ENABLE(POINTER_LOCK)
1780static inline bool setJSDocumentOnpointerlockchangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1781{
1782 UNUSED_PARAM(throwScope);
1783 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerlockchangeEvent, value);
1784 return true;
1785}
1786
1787bool setJSDocumentOnpointerlockchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1788{
1789 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointerlockchangeSetter>(*state, thisValue, encodedValue, "onpointerlockchange");
1790}
1791
1792#endif
1793
1794#if ENABLE(POINTER_LOCK)
1795static inline JSValue jsDocumentOnpointerlockerrorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1796{
1797 UNUSED_PARAM(throwScope);
1798 UNUSED_PARAM(state);
1799 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerlockerrorEvent, worldForDOMObject(thisObject));
1800}
1801
1802EncodedJSValue jsDocumentOnpointerlockerror(ExecState* state, EncodedJSValue thisValue, PropertyName)
1803{
1804 return IDLAttribute<JSDocument>::get<jsDocumentOnpointerlockerrorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerlockerror");
1805}
1806
1807#endif
1808
1809#if ENABLE(POINTER_LOCK)
1810static inline bool setJSDocumentOnpointerlockerrorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1811{
1812 UNUSED_PARAM(throwScope);
1813 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerlockerrorEvent, value);
1814 return true;
1815}
1816
1817bool setJSDocumentOnpointerlockerror(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1818{
1819 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointerlockerrorSetter>(*state, thisValue, encodedValue, "onpointerlockerror");
1820}
1821
1822#endif
1823
1824static inline JSValue jsDocumentFontsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1825{
1826 UNUSED_PARAM(throwScope);
1827 UNUSED_PARAM(state);
1828 auto& impl = thisObject.wrapped();
1829 JSValue result = toJS<IDLInterface<FontFaceSet>>(state, *thisObject.globalObject(), throwScope, impl.fonts());
1830 return result;
1831}
1832
1833EncodedJSValue jsDocumentFonts(ExecState* state, EncodedJSValue thisValue, PropertyName)
1834{
1835 return IDLAttribute<JSDocument>::get<jsDocumentFontsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "fonts");
1836}
1837
1838static inline JSValue jsDocumentHiddenGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1839{
1840 UNUSED_PARAM(throwScope);
1841 UNUSED_PARAM(state);
1842 auto& impl = thisObject.wrapped();
1843 JSValue result = toJS<IDLBoolean>(state, throwScope, impl.hidden());
1844 return result;
1845}
1846
1847EncodedJSValue jsDocumentHidden(ExecState* state, EncodedJSValue thisValue, PropertyName)
1848{
1849 return IDLAttribute<JSDocument>::get<jsDocumentHiddenGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "hidden");
1850}
1851
1852static inline JSValue jsDocumentVisibilityStateGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1853{
1854 UNUSED_PARAM(throwScope);
1855 UNUSED_PARAM(state);
1856 auto& impl = thisObject.wrapped();
1857 JSValue result = toJS<IDLEnumeration<VisibilityState>>(state, throwScope, impl.visibilityState());
1858 return result;
1859}
1860
1861EncodedJSValue jsDocumentVisibilityState(ExecState* state, EncodedJSValue thisValue, PropertyName)
1862{
1863 return IDLAttribute<JSDocument>::get<jsDocumentVisibilityStateGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "visibilityState");
1864}
1865
1866static inline JSValue jsDocumentOnvisibilitychangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1867{
1868 UNUSED_PARAM(throwScope);
1869 UNUSED_PARAM(state);
1870 return eventHandlerAttribute(thisObject.wrapped(), eventNames().visibilitychangeEvent, worldForDOMObject(thisObject));
1871}
1872
1873EncodedJSValue jsDocumentOnvisibilitychange(ExecState* state, EncodedJSValue thisValue, PropertyName)
1874{
1875 return IDLAttribute<JSDocument>::get<jsDocumentOnvisibilitychangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onvisibilitychange");
1876}
1877
1878static inline bool setJSDocumentOnvisibilitychangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1879{
1880 UNUSED_PARAM(throwScope);
1881 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().visibilitychangeEvent, value);
1882 return true;
1883}
1884
1885bool setJSDocumentOnvisibilitychange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1886{
1887 return IDLAttribute<JSDocument>::set<setJSDocumentOnvisibilitychangeSetter>(*state, thisValue, encodedValue, "onvisibilitychange");
1888}
1889
1890static inline JSValue jsDocumentXMLEncodingGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1891{
1892 UNUSED_PARAM(throwScope);
1893 UNUSED_PARAM(state);
1894 auto& impl = thisObject.wrapped();
1895 JSValue result = toJS<IDLNullable<IDLDOMString>>(state, throwScope, impl.xmlEncoding());
1896 return result;
1897}
1898
1899EncodedJSValue jsDocumentXMLEncoding(ExecState* state, EncodedJSValue thisValue, PropertyName)
1900{
1901 return IDLAttribute<JSDocument>::get<jsDocumentXMLEncodingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "xmlEncoding");
1902}
1903
1904static inline JSValue jsDocumentXMLVersionGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1905{
1906 UNUSED_PARAM(throwScope);
1907 UNUSED_PARAM(state);
1908 auto& impl = thisObject.wrapped();
1909 JSValue result = toJS<IDLNullable<IDLDOMString>>(state, throwScope, impl.xmlVersion());
1910 return result;
1911}
1912
1913EncodedJSValue jsDocumentXMLVersion(ExecState* state, EncodedJSValue thisValue, PropertyName)
1914{
1915 return IDLAttribute<JSDocument>::get<jsDocumentXMLVersionGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "xmlVersion");
1916}
1917
1918static inline bool setJSDocumentXMLVersionSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1919{
1920 UNUSED_PARAM(throwScope);
1921 auto& impl = thisObject.wrapped();
1922 auto nativeValue = convert<IDLNullable<IDLDOMString>>(state, value);
1923 RETURN_IF_EXCEPTION(throwScope, false);
1924 AttributeSetter::call(state, throwScope, [&] {
1925 return impl.setXMLVersion(WTFMove(nativeValue));
1926 });
1927 return true;
1928}
1929
1930bool setJSDocumentXMLVersion(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1931{
1932 return IDLAttribute<JSDocument>::set<setJSDocumentXMLVersionSetter>(*state, thisValue, encodedValue, "xmlVersion");
1933}
1934
1935static inline JSValue jsDocumentXMLStandaloneGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1936{
1937 UNUSED_PARAM(throwScope);
1938 UNUSED_PARAM(state);
1939 auto& impl = thisObject.wrapped();
1940 JSValue result = toJS<IDLBoolean>(state, throwScope, impl.xmlStandalone());
1941 return result;
1942}
1943
1944EncodedJSValue jsDocumentXMLStandalone(ExecState* state, EncodedJSValue thisValue, PropertyName)
1945{
1946 return IDLAttribute<JSDocument>::get<jsDocumentXMLStandaloneGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "xmlStandalone");
1947}
1948
1949static inline bool setJSDocumentXMLStandaloneSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1950{
1951 UNUSED_PARAM(throwScope);
1952 auto& impl = thisObject.wrapped();
1953 auto nativeValue = convert<IDLBoolean>(state, value);
1954 RETURN_IF_EXCEPTION(throwScope, false);
1955 AttributeSetter::call(state, throwScope, [&] {
1956 return impl.setXMLStandalone(WTFMove(nativeValue));
1957 });
1958 return true;
1959}
1960
1961bool setJSDocumentXMLStandalone(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1962{
1963 return IDLAttribute<JSDocument>::set<setJSDocumentXMLStandaloneSetter>(*state, thisValue, encodedValue, "xmlStandalone");
1964}
1965
1966static inline JSValue jsDocumentOnselectstartGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1967{
1968 UNUSED_PARAM(throwScope);
1969 UNUSED_PARAM(state);
1970 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectstartEvent, worldForDOMObject(thisObject));
1971}
1972
1973EncodedJSValue jsDocumentOnselectstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
1974{
1975 return IDLAttribute<JSDocument>::get<jsDocumentOnselectstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onselectstart");
1976}
1977
1978static inline bool setJSDocumentOnselectstartSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
1979{
1980 UNUSED_PARAM(throwScope);
1981 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().selectstartEvent, value);
1982 return true;
1983}
1984
1985bool setJSDocumentOnselectstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1986{
1987 return IDLAttribute<JSDocument>::set<setJSDocumentOnselectstartSetter>(*state, thisValue, encodedValue, "onselectstart");
1988}
1989
1990static inline JSValue jsDocumentOnselectionchangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
1991{
1992 UNUSED_PARAM(throwScope);
1993 UNUSED_PARAM(state);
1994 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectionchangeEvent, worldForDOMObject(thisObject));
1995}
1996
1997EncodedJSValue jsDocumentOnselectionchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
1998{
1999 return IDLAttribute<JSDocument>::get<jsDocumentOnselectionchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onselectionchange");
2000}
2001
2002static inline bool setJSDocumentOnselectionchangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2003{
2004 UNUSED_PARAM(throwScope);
2005 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().selectionchangeEvent, value);
2006 return true;
2007}
2008
2009bool setJSDocumentOnselectionchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2010{
2011 return IDLAttribute<JSDocument>::set<setJSDocumentOnselectionchangeSetter>(*state, thisValue, encodedValue, "onselectionchange");
2012}
2013
2014static inline JSValue jsDocumentFgColorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2015{
2016 UNUSED_PARAM(throwScope);
2017 UNUSED_PARAM(state);
2018 auto& impl = thisObject.wrapped();
2019 JSValue result = toJS<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, throwScope, impl.fgColor());
2020 return result;
2021}
2022
2023EncodedJSValue jsDocumentFgColor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2024{
2025 return IDLAttribute<JSDocument>::get<jsDocumentFgColorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "fgColor");
2026}
2027
2028static inline bool setJSDocumentFgColorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2029{
2030 UNUSED_PARAM(throwScope);
2031 CustomElementReactionStack customElementReactionStack(state);
2032 auto& impl = thisObject.wrapped();
2033 auto nativeValue = convert<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, value);
2034 RETURN_IF_EXCEPTION(throwScope, false);
2035 AttributeSetter::call(state, throwScope, [&] {
2036 return impl.setFgColor(WTFMove(nativeValue));
2037 });
2038 return true;
2039}
2040
2041bool setJSDocumentFgColor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2042{
2043 return IDLAttribute<JSDocument>::set<setJSDocumentFgColorSetter>(*state, thisValue, encodedValue, "fgColor");
2044}
2045
2046static inline JSValue jsDocumentLinkColorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2047{
2048 UNUSED_PARAM(throwScope);
2049 UNUSED_PARAM(state);
2050 auto& impl = thisObject.wrapped();
2051 JSValue result = toJS<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, throwScope, impl.linkColorForBindings());
2052 return result;
2053}
2054
2055EncodedJSValue jsDocumentLinkColor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2056{
2057 return IDLAttribute<JSDocument>::get<jsDocumentLinkColorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "linkColor");
2058}
2059
2060static inline bool setJSDocumentLinkColorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2061{
2062 UNUSED_PARAM(throwScope);
2063 CustomElementReactionStack customElementReactionStack(state);
2064 auto& impl = thisObject.wrapped();
2065 auto nativeValue = convert<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, value);
2066 RETURN_IF_EXCEPTION(throwScope, false);
2067 AttributeSetter::call(state, throwScope, [&] {
2068 return impl.setLinkColorForBindings(WTFMove(nativeValue));
2069 });
2070 return true;
2071}
2072
2073bool setJSDocumentLinkColor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2074{
2075 return IDLAttribute<JSDocument>::set<setJSDocumentLinkColorSetter>(*state, thisValue, encodedValue, "linkColor");
2076}
2077
2078static inline JSValue jsDocumentVlinkColorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2079{
2080 UNUSED_PARAM(throwScope);
2081 UNUSED_PARAM(state);
2082 auto& impl = thisObject.wrapped();
2083 JSValue result = toJS<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, throwScope, impl.vlinkColor());
2084 return result;
2085}
2086
2087EncodedJSValue jsDocumentVlinkColor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2088{
2089 return IDLAttribute<JSDocument>::get<jsDocumentVlinkColorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "vlinkColor");
2090}
2091
2092static inline bool setJSDocumentVlinkColorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2093{
2094 UNUSED_PARAM(throwScope);
2095 CustomElementReactionStack customElementReactionStack(state);
2096 auto& impl = thisObject.wrapped();
2097 auto nativeValue = convert<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, value);
2098 RETURN_IF_EXCEPTION(throwScope, false);
2099 AttributeSetter::call(state, throwScope, [&] {
2100 return impl.setVlinkColor(WTFMove(nativeValue));
2101 });
2102 return true;
2103}
2104
2105bool setJSDocumentVlinkColor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2106{
2107 return IDLAttribute<JSDocument>::set<setJSDocumentVlinkColorSetter>(*state, thisValue, encodedValue, "vlinkColor");
2108}
2109
2110static inline JSValue jsDocumentAlinkColorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2111{
2112 UNUSED_PARAM(throwScope);
2113 UNUSED_PARAM(state);
2114 auto& impl = thisObject.wrapped();
2115 JSValue result = toJS<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, throwScope, impl.alinkColor());
2116 return result;
2117}
2118
2119EncodedJSValue jsDocumentAlinkColor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2120{
2121 return IDLAttribute<JSDocument>::get<jsDocumentAlinkColorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "alinkColor");
2122}
2123
2124static inline bool setJSDocumentAlinkColorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2125{
2126 UNUSED_PARAM(throwScope);
2127 CustomElementReactionStack customElementReactionStack(state);
2128 auto& impl = thisObject.wrapped();
2129 auto nativeValue = convert<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, value);
2130 RETURN_IF_EXCEPTION(throwScope, false);
2131 AttributeSetter::call(state, throwScope, [&] {
2132 return impl.setAlinkColor(WTFMove(nativeValue));
2133 });
2134 return true;
2135}
2136
2137bool setJSDocumentAlinkColor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2138{
2139 return IDLAttribute<JSDocument>::set<setJSDocumentAlinkColorSetter>(*state, thisValue, encodedValue, "alinkColor");
2140}
2141
2142static inline JSValue jsDocumentBgColorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2143{
2144 UNUSED_PARAM(throwScope);
2145 UNUSED_PARAM(state);
2146 auto& impl = thisObject.wrapped();
2147 JSValue result = toJS<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, throwScope, impl.bgColor());
2148 return result;
2149}
2150
2151EncodedJSValue jsDocumentBgColor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2152{
2153 return IDLAttribute<JSDocument>::get<jsDocumentBgColorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "bgColor");
2154}
2155
2156static inline bool setJSDocumentBgColorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2157{
2158 UNUSED_PARAM(throwScope);
2159 CustomElementReactionStack customElementReactionStack(state);
2160 auto& impl = thisObject.wrapped();
2161 auto nativeValue = convert<IDLTreatNullAsEmptyAdaptor<IDLDOMString>>(state, value);
2162 RETURN_IF_EXCEPTION(throwScope, false);
2163 AttributeSetter::call(state, throwScope, [&] {
2164 return impl.setBgColor(WTFMove(nativeValue));
2165 });
2166 return true;
2167}
2168
2169bool setJSDocumentBgColor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2170{
2171 return IDLAttribute<JSDocument>::set<setJSDocumentBgColorSetter>(*state, thisValue, encodedValue, "bgColor");
2172}
2173
2174static inline JSValue jsDocumentAnchorsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2175{
2176 UNUSED_PARAM(throwScope);
2177 UNUSED_PARAM(state);
2178 auto& impl = thisObject.wrapped();
2179 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.anchors());
2180 return result;
2181}
2182
2183EncodedJSValue jsDocumentAnchors(ExecState* state, EncodedJSValue thisValue, PropertyName)
2184{
2185 return IDLAttribute<JSDocument>::get<jsDocumentAnchorsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "anchors");
2186}
2187
2188static inline JSValue jsDocumentAppletsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2189{
2190 UNUSED_PARAM(throwScope);
2191 UNUSED_PARAM(state);
2192 auto& impl = thisObject.wrapped();
2193 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.applets());
2194 return result;
2195}
2196
2197EncodedJSValue jsDocumentApplets(ExecState* state, EncodedJSValue thisValue, PropertyName)
2198{
2199 return IDLAttribute<JSDocument>::get<jsDocumentAppletsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "applets");
2200}
2201
2202static inline JSValue jsDocumentAllGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2203{
2204 UNUSED_PARAM(throwScope);
2205 UNUSED_PARAM(state);
2206 auto& impl = thisObject.wrapped();
2207 JSValue result = toJS<IDLInterface<HTMLAllCollection>>(state, *thisObject.globalObject(), throwScope, impl.all());
2208 return result;
2209}
2210
2211EncodedJSValue jsDocumentAll(ExecState* state, EncodedJSValue thisValue, PropertyName)
2212{
2213 return IDLAttribute<JSDocument>::get<jsDocumentAllGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "all");
2214}
2215
2216static inline bool setJSDocumentAllSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2217{
2218 UNUSED_PARAM(throwScope);
2219 // Shadowing a built-in property.
2220 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("all"), strlen("all")), value);
2221}
2222
2223bool setJSDocumentAll(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2224{
2225 return IDLAttribute<JSDocument>::set<setJSDocumentAllSetter>(*state, thisValue, encodedValue, "all");
2226}
2227
2228static inline JSValue jsDocumentTimelineGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2229{
2230 UNUSED_PARAM(throwScope);
2231 UNUSED_PARAM(state);
2232 auto& impl = thisObject.wrapped();
2233 JSValue result = toJS<IDLInterface<DocumentTimeline>>(state, *thisObject.globalObject(), throwScope, impl.timeline());
2234 return result;
2235}
2236
2237EncodedJSValue jsDocumentTimeline(ExecState* state, EncodedJSValue thisValue, PropertyName)
2238{
2239 return IDLAttribute<JSDocument>::get<jsDocumentTimelineGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "timeline");
2240}
2241
2242static inline JSValue jsDocumentOncopyGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2243{
2244 UNUSED_PARAM(throwScope);
2245 UNUSED_PARAM(state);
2246 return eventHandlerAttribute(thisObject.wrapped(), eventNames().copyEvent, worldForDOMObject(thisObject));
2247}
2248
2249EncodedJSValue jsDocumentOncopy(ExecState* state, EncodedJSValue thisValue, PropertyName)
2250{
2251 return IDLAttribute<JSDocument>::get<jsDocumentOncopyGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncopy");
2252}
2253
2254static inline bool setJSDocumentOncopySetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2255{
2256 UNUSED_PARAM(throwScope);
2257 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().copyEvent, value);
2258 return true;
2259}
2260
2261bool setJSDocumentOncopy(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2262{
2263 return IDLAttribute<JSDocument>::set<setJSDocumentOncopySetter>(*state, thisValue, encodedValue, "oncopy");
2264}
2265
2266static inline JSValue jsDocumentOncutGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2267{
2268 UNUSED_PARAM(throwScope);
2269 UNUSED_PARAM(state);
2270 return eventHandlerAttribute(thisObject.wrapped(), eventNames().cutEvent, worldForDOMObject(thisObject));
2271}
2272
2273EncodedJSValue jsDocumentOncut(ExecState* state, EncodedJSValue thisValue, PropertyName)
2274{
2275 return IDLAttribute<JSDocument>::get<jsDocumentOncutGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncut");
2276}
2277
2278static inline bool setJSDocumentOncutSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2279{
2280 UNUSED_PARAM(throwScope);
2281 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().cutEvent, value);
2282 return true;
2283}
2284
2285bool setJSDocumentOncut(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2286{
2287 return IDLAttribute<JSDocument>::set<setJSDocumentOncutSetter>(*state, thisValue, encodedValue, "oncut");
2288}
2289
2290static inline JSValue jsDocumentOnpasteGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2291{
2292 UNUSED_PARAM(throwScope);
2293 UNUSED_PARAM(state);
2294 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pasteEvent, worldForDOMObject(thisObject));
2295}
2296
2297EncodedJSValue jsDocumentOnpaste(ExecState* state, EncodedJSValue thisValue, PropertyName)
2298{
2299 return IDLAttribute<JSDocument>::get<jsDocumentOnpasteGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpaste");
2300}
2301
2302static inline bool setJSDocumentOnpasteSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2303{
2304 UNUSED_PARAM(throwScope);
2305 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pasteEvent, value);
2306 return true;
2307}
2308
2309bool setJSDocumentOnpaste(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2310{
2311 return IDLAttribute<JSDocument>::set<setJSDocumentOnpasteSetter>(*state, thisValue, encodedValue, "onpaste");
2312}
2313
2314static inline JSValue jsDocumentOnbeforecopyGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2315{
2316 UNUSED_PARAM(throwScope);
2317 UNUSED_PARAM(state);
2318 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforecopyEvent, worldForDOMObject(thisObject));
2319}
2320
2321EncodedJSValue jsDocumentOnbeforecopy(ExecState* state, EncodedJSValue thisValue, PropertyName)
2322{
2323 return IDLAttribute<JSDocument>::get<jsDocumentOnbeforecopyGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onbeforecopy");
2324}
2325
2326static inline bool setJSDocumentOnbeforecopySetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2327{
2328 UNUSED_PARAM(throwScope);
2329 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().beforecopyEvent, value);
2330 return true;
2331}
2332
2333bool setJSDocumentOnbeforecopy(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2334{
2335 return IDLAttribute<JSDocument>::set<setJSDocumentOnbeforecopySetter>(*state, thisValue, encodedValue, "onbeforecopy");
2336}
2337
2338static inline JSValue jsDocumentOnbeforecutGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2339{
2340 UNUSED_PARAM(throwScope);
2341 UNUSED_PARAM(state);
2342 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforecutEvent, worldForDOMObject(thisObject));
2343}
2344
2345EncodedJSValue jsDocumentOnbeforecut(ExecState* state, EncodedJSValue thisValue, PropertyName)
2346{
2347 return IDLAttribute<JSDocument>::get<jsDocumentOnbeforecutGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onbeforecut");
2348}
2349
2350static inline bool setJSDocumentOnbeforecutSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2351{
2352 UNUSED_PARAM(throwScope);
2353 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().beforecutEvent, value);
2354 return true;
2355}
2356
2357bool setJSDocumentOnbeforecut(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2358{
2359 return IDLAttribute<JSDocument>::set<setJSDocumentOnbeforecutSetter>(*state, thisValue, encodedValue, "onbeforecut");
2360}
2361
2362static inline JSValue jsDocumentOnbeforeinputGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2363{
2364 UNUSED_PARAM(throwScope);
2365 UNUSED_PARAM(state);
2366 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforeinputEvent, worldForDOMObject(thisObject));
2367}
2368
2369EncodedJSValue jsDocumentOnbeforeinput(ExecState* state, EncodedJSValue thisValue, PropertyName)
2370{
2371 return IDLAttribute<JSDocument>::get<jsDocumentOnbeforeinputGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onbeforeinput");
2372}
2373
2374static inline bool setJSDocumentOnbeforeinputSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2375{
2376 UNUSED_PARAM(throwScope);
2377 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().beforeinputEvent, value);
2378 return true;
2379}
2380
2381bool setJSDocumentOnbeforeinput(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2382{
2383 return IDLAttribute<JSDocument>::set<setJSDocumentOnbeforeinputSetter>(*state, thisValue, encodedValue, "onbeforeinput");
2384}
2385
2386static inline JSValue jsDocumentOnbeforepasteGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2387{
2388 UNUSED_PARAM(throwScope);
2389 UNUSED_PARAM(state);
2390 return eventHandlerAttribute(thisObject.wrapped(), eventNames().beforepasteEvent, worldForDOMObject(thisObject));
2391}
2392
2393EncodedJSValue jsDocumentOnbeforepaste(ExecState* state, EncodedJSValue thisValue, PropertyName)
2394{
2395 return IDLAttribute<JSDocument>::get<jsDocumentOnbeforepasteGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onbeforepaste");
2396}
2397
2398static inline bool setJSDocumentOnbeforepasteSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2399{
2400 UNUSED_PARAM(throwScope);
2401 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().beforepasteEvent, value);
2402 return true;
2403}
2404
2405bool setJSDocumentOnbeforepaste(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2406{
2407 return IDLAttribute<JSDocument>::set<setJSDocumentOnbeforepasteSetter>(*state, thisValue, encodedValue, "onbeforepaste");
2408}
2409
2410#if ENABLE(FULLSCREEN_API)
2411static inline JSValue jsDocumentWebkitFullscreenEnabledGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2412{
2413 UNUSED_PARAM(throwScope);
2414 UNUSED_PARAM(state);
2415 auto& impl = thisObject.wrapped();
2416 JSValue result = toJS<IDLBoolean>(state, throwScope, WebCore::DocumentFullscreen::webkitFullscreenEnabled(impl));
2417 return result;
2418}
2419
2420EncodedJSValue jsDocumentWebkitFullscreenEnabled(ExecState* state, EncodedJSValue thisValue, PropertyName)
2421{
2422 return IDLAttribute<JSDocument>::get<jsDocumentWebkitFullscreenEnabledGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "webkitFullscreenEnabled");
2423}
2424
2425#endif
2426
2427#if ENABLE(FULLSCREEN_API)
2428static inline JSValue jsDocumentWebkitFullscreenElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2429{
2430 UNUSED_PARAM(throwScope);
2431 UNUSED_PARAM(state);
2432 auto& impl = thisObject.wrapped();
2433 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, WebCore::DocumentFullscreen::webkitFullscreenElement(impl));
2434 return result;
2435}
2436
2437EncodedJSValue jsDocumentWebkitFullscreenElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
2438{
2439 return IDLAttribute<JSDocument>::get<jsDocumentWebkitFullscreenElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "webkitFullscreenElement");
2440}
2441
2442#endif
2443
2444#if ENABLE(FULLSCREEN_API)
2445static inline JSValue jsDocumentWebkitIsFullScreenGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2446{
2447 UNUSED_PARAM(throwScope);
2448 UNUSED_PARAM(state);
2449 auto& impl = thisObject.wrapped();
2450 JSValue result = toJS<IDLBoolean>(state, throwScope, WebCore::DocumentFullscreen::webkitIsFullScreen(impl));
2451 return result;
2452}
2453
2454EncodedJSValue jsDocumentWebkitIsFullScreen(ExecState* state, EncodedJSValue thisValue, PropertyName)
2455{
2456 return IDLAttribute<JSDocument>::get<jsDocumentWebkitIsFullScreenGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "webkitIsFullScreen");
2457}
2458
2459#endif
2460
2461#if ENABLE(FULLSCREEN_API)
2462static inline JSValue jsDocumentWebkitFullScreenKeyboardInputAllowedGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2463{
2464 UNUSED_PARAM(throwScope);
2465 UNUSED_PARAM(state);
2466 auto& impl = thisObject.wrapped();
2467 JSValue result = toJS<IDLBoolean>(state, throwScope, WebCore::DocumentFullscreen::webkitFullScreenKeyboardInputAllowed(impl));
2468 return result;
2469}
2470
2471EncodedJSValue jsDocumentWebkitFullScreenKeyboardInputAllowed(ExecState* state, EncodedJSValue thisValue, PropertyName)
2472{
2473 return IDLAttribute<JSDocument>::get<jsDocumentWebkitFullScreenKeyboardInputAllowedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "webkitFullScreenKeyboardInputAllowed");
2474}
2475
2476#endif
2477
2478#if ENABLE(FULLSCREEN_API)
2479static inline JSValue jsDocumentWebkitCurrentFullScreenElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2480{
2481 UNUSED_PARAM(throwScope);
2482 UNUSED_PARAM(state);
2483 auto& impl = thisObject.wrapped();
2484 JSValue result = toJS<IDLInterface<Element>>(state, *thisObject.globalObject(), throwScope, WebCore::DocumentFullscreen::webkitCurrentFullScreenElement(impl));
2485 return result;
2486}
2487
2488EncodedJSValue jsDocumentWebkitCurrentFullScreenElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
2489{
2490 return IDLAttribute<JSDocument>::get<jsDocumentWebkitCurrentFullScreenElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "webkitCurrentFullScreenElement");
2491}
2492
2493#endif
2494
2495#if ENABLE(FULLSCREEN_API)
2496static inline JSValue jsDocumentOnwebkitfullscreenchangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2497{
2498 UNUSED_PARAM(throwScope);
2499 UNUSED_PARAM(state);
2500 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitfullscreenchangeEvent, worldForDOMObject(thisObject));
2501}
2502
2503EncodedJSValue jsDocumentOnwebkitfullscreenchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
2504{
2505 return IDLAttribute<JSDocument>::get<jsDocumentOnwebkitfullscreenchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitfullscreenchange");
2506}
2507
2508#endif
2509
2510#if ENABLE(FULLSCREEN_API)
2511static inline bool setJSDocumentOnwebkitfullscreenchangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2512{
2513 UNUSED_PARAM(throwScope);
2514 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitfullscreenchangeEvent, value);
2515 return true;
2516}
2517
2518bool setJSDocumentOnwebkitfullscreenchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2519{
2520 return IDLAttribute<JSDocument>::set<setJSDocumentOnwebkitfullscreenchangeSetter>(*state, thisValue, encodedValue, "onwebkitfullscreenchange");
2521}
2522
2523#endif
2524
2525#if ENABLE(FULLSCREEN_API)
2526static inline JSValue jsDocumentOnwebkitfullscreenerrorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2527{
2528 UNUSED_PARAM(throwScope);
2529 UNUSED_PARAM(state);
2530 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitfullscreenerrorEvent, worldForDOMObject(thisObject));
2531}
2532
2533EncodedJSValue jsDocumentOnwebkitfullscreenerror(ExecState* state, EncodedJSValue thisValue, PropertyName)
2534{
2535 return IDLAttribute<JSDocument>::get<jsDocumentOnwebkitfullscreenerrorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitfullscreenerror");
2536}
2537
2538#endif
2539
2540#if ENABLE(FULLSCREEN_API)
2541static inline bool setJSDocumentOnwebkitfullscreenerrorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2542{
2543 UNUSED_PARAM(throwScope);
2544 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitfullscreenerrorEvent, value);
2545 return true;
2546}
2547
2548bool setJSDocumentOnwebkitfullscreenerror(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2549{
2550 return IDLAttribute<JSDocument>::set<setJSDocumentOnwebkitfullscreenerrorSetter>(*state, thisValue, encodedValue, "onwebkitfullscreenerror");
2551}
2552
2553#endif
2554
2555static inline JSValue jsDocumentActiveElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2556{
2557 UNUSED_PARAM(throwScope);
2558 UNUSED_PARAM(state);
2559 auto& impl = thisObject.wrapped();
2560 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, impl.activeElement());
2561 return result;
2562}
2563
2564EncodedJSValue jsDocumentActiveElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
2565{
2566 return IDLAttribute<JSDocument>::get<jsDocumentActiveElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "activeElement");
2567}
2568
2569static inline JSValue jsDocumentStyleSheetsGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2570{
2571 UNUSED_PARAM(throwScope);
2572 UNUSED_PARAM(state);
2573 auto& impl = thisObject.wrapped();
2574 JSValue result = toJS<IDLInterface<StyleSheetList>>(state, *thisObject.globalObject(), throwScope, impl.styleSheets());
2575 return result;
2576}
2577
2578EncodedJSValue jsDocumentStyleSheets(ExecState* state, EncodedJSValue thisValue, PropertyName)
2579{
2580 return IDLAttribute<JSDocument>::get<jsDocumentStyleSheetsGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "styleSheets");
2581}
2582
2583#if ENABLE(POINTER_LOCK)
2584static inline JSValue jsDocumentPointerLockElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2585{
2586 UNUSED_PARAM(throwScope);
2587 UNUSED_PARAM(state);
2588 auto& impl = thisObject.wrapped();
2589 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, impl.pointerLockElement());
2590 return result;
2591}
2592
2593EncodedJSValue jsDocumentPointerLockElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
2594{
2595 return IDLAttribute<JSDocument>::get<jsDocumentPointerLockElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "pointerLockElement");
2596}
2597
2598#endif
2599
2600static inline JSValue jsDocumentOnabortGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2601{
2602 UNUSED_PARAM(throwScope);
2603 UNUSED_PARAM(state);
2604 return eventHandlerAttribute(thisObject.wrapped(), eventNames().abortEvent, worldForDOMObject(thisObject));
2605}
2606
2607EncodedJSValue jsDocumentOnabort(ExecState* state, EncodedJSValue thisValue, PropertyName)
2608{
2609 return IDLAttribute<JSDocument>::get<jsDocumentOnabortGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onabort");
2610}
2611
2612static inline bool setJSDocumentOnabortSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2613{
2614 UNUSED_PARAM(throwScope);
2615 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().abortEvent, value);
2616 return true;
2617}
2618
2619bool setJSDocumentOnabort(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2620{
2621 return IDLAttribute<JSDocument>::set<setJSDocumentOnabortSetter>(*state, thisValue, encodedValue, "onabort");
2622}
2623
2624static inline JSValue jsDocumentOnblurGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2625{
2626 UNUSED_PARAM(throwScope);
2627 UNUSED_PARAM(state);
2628 return eventHandlerAttribute(thisObject.wrapped(), eventNames().blurEvent, worldForDOMObject(thisObject));
2629}
2630
2631EncodedJSValue jsDocumentOnblur(ExecState* state, EncodedJSValue thisValue, PropertyName)
2632{
2633 return IDLAttribute<JSDocument>::get<jsDocumentOnblurGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onblur");
2634}
2635
2636static inline bool setJSDocumentOnblurSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2637{
2638 UNUSED_PARAM(throwScope);
2639 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().blurEvent, value);
2640 return true;
2641}
2642
2643bool setJSDocumentOnblur(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2644{
2645 return IDLAttribute<JSDocument>::set<setJSDocumentOnblurSetter>(*state, thisValue, encodedValue, "onblur");
2646}
2647
2648static inline JSValue jsDocumentOncanplayGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2649{
2650 UNUSED_PARAM(throwScope);
2651 UNUSED_PARAM(state);
2652 return eventHandlerAttribute(thisObject.wrapped(), eventNames().canplayEvent, worldForDOMObject(thisObject));
2653}
2654
2655EncodedJSValue jsDocumentOncanplay(ExecState* state, EncodedJSValue thisValue, PropertyName)
2656{
2657 return IDLAttribute<JSDocument>::get<jsDocumentOncanplayGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncanplay");
2658}
2659
2660static inline bool setJSDocumentOncanplaySetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2661{
2662 UNUSED_PARAM(throwScope);
2663 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().canplayEvent, value);
2664 return true;
2665}
2666
2667bool setJSDocumentOncanplay(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2668{
2669 return IDLAttribute<JSDocument>::set<setJSDocumentOncanplaySetter>(*state, thisValue, encodedValue, "oncanplay");
2670}
2671
2672static inline JSValue jsDocumentOncanplaythroughGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2673{
2674 UNUSED_PARAM(throwScope);
2675 UNUSED_PARAM(state);
2676 return eventHandlerAttribute(thisObject.wrapped(), eventNames().canplaythroughEvent, worldForDOMObject(thisObject));
2677}
2678
2679EncodedJSValue jsDocumentOncanplaythrough(ExecState* state, EncodedJSValue thisValue, PropertyName)
2680{
2681 return IDLAttribute<JSDocument>::get<jsDocumentOncanplaythroughGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncanplaythrough");
2682}
2683
2684static inline bool setJSDocumentOncanplaythroughSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2685{
2686 UNUSED_PARAM(throwScope);
2687 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().canplaythroughEvent, value);
2688 return true;
2689}
2690
2691bool setJSDocumentOncanplaythrough(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2692{
2693 return IDLAttribute<JSDocument>::set<setJSDocumentOncanplaythroughSetter>(*state, thisValue, encodedValue, "oncanplaythrough");
2694}
2695
2696static inline JSValue jsDocumentOnchangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2697{
2698 UNUSED_PARAM(throwScope);
2699 UNUSED_PARAM(state);
2700 return eventHandlerAttribute(thisObject.wrapped(), eventNames().changeEvent, worldForDOMObject(thisObject));
2701}
2702
2703EncodedJSValue jsDocumentOnchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
2704{
2705 return IDLAttribute<JSDocument>::get<jsDocumentOnchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onchange");
2706}
2707
2708static inline bool setJSDocumentOnchangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2709{
2710 UNUSED_PARAM(throwScope);
2711 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().changeEvent, value);
2712 return true;
2713}
2714
2715bool setJSDocumentOnchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2716{
2717 return IDLAttribute<JSDocument>::set<setJSDocumentOnchangeSetter>(*state, thisValue, encodedValue, "onchange");
2718}
2719
2720static inline JSValue jsDocumentOnclickGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2721{
2722 UNUSED_PARAM(throwScope);
2723 UNUSED_PARAM(state);
2724 return eventHandlerAttribute(thisObject.wrapped(), eventNames().clickEvent, worldForDOMObject(thisObject));
2725}
2726
2727EncodedJSValue jsDocumentOnclick(ExecState* state, EncodedJSValue thisValue, PropertyName)
2728{
2729 return IDLAttribute<JSDocument>::get<jsDocumentOnclickGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onclick");
2730}
2731
2732static inline bool setJSDocumentOnclickSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2733{
2734 UNUSED_PARAM(throwScope);
2735 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().clickEvent, value);
2736 return true;
2737}
2738
2739bool setJSDocumentOnclick(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2740{
2741 return IDLAttribute<JSDocument>::set<setJSDocumentOnclickSetter>(*state, thisValue, encodedValue, "onclick");
2742}
2743
2744static inline JSValue jsDocumentOncontextmenuGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2745{
2746 UNUSED_PARAM(throwScope);
2747 UNUSED_PARAM(state);
2748 return eventHandlerAttribute(thisObject.wrapped(), eventNames().contextmenuEvent, worldForDOMObject(thisObject));
2749}
2750
2751EncodedJSValue jsDocumentOncontextmenu(ExecState* state, EncodedJSValue thisValue, PropertyName)
2752{
2753 return IDLAttribute<JSDocument>::get<jsDocumentOncontextmenuGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncontextmenu");
2754}
2755
2756static inline bool setJSDocumentOncontextmenuSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2757{
2758 UNUSED_PARAM(throwScope);
2759 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().contextmenuEvent, value);
2760 return true;
2761}
2762
2763bool setJSDocumentOncontextmenu(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2764{
2765 return IDLAttribute<JSDocument>::set<setJSDocumentOncontextmenuSetter>(*state, thisValue, encodedValue, "oncontextmenu");
2766}
2767
2768static inline JSValue jsDocumentOncuechangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2769{
2770 UNUSED_PARAM(throwScope);
2771 UNUSED_PARAM(state);
2772 return eventHandlerAttribute(thisObject.wrapped(), eventNames().cuechangeEvent, worldForDOMObject(thisObject));
2773}
2774
2775EncodedJSValue jsDocumentOncuechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
2776{
2777 return IDLAttribute<JSDocument>::get<jsDocumentOncuechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oncuechange");
2778}
2779
2780static inline bool setJSDocumentOncuechangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2781{
2782 UNUSED_PARAM(throwScope);
2783 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().cuechangeEvent, value);
2784 return true;
2785}
2786
2787bool setJSDocumentOncuechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2788{
2789 return IDLAttribute<JSDocument>::set<setJSDocumentOncuechangeSetter>(*state, thisValue, encodedValue, "oncuechange");
2790}
2791
2792static inline JSValue jsDocumentOndblclickGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2793{
2794 UNUSED_PARAM(throwScope);
2795 UNUSED_PARAM(state);
2796 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dblclickEvent, worldForDOMObject(thisObject));
2797}
2798
2799EncodedJSValue jsDocumentOndblclick(ExecState* state, EncodedJSValue thisValue, PropertyName)
2800{
2801 return IDLAttribute<JSDocument>::get<jsDocumentOndblclickGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondblclick");
2802}
2803
2804static inline bool setJSDocumentOndblclickSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2805{
2806 UNUSED_PARAM(throwScope);
2807 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dblclickEvent, value);
2808 return true;
2809}
2810
2811bool setJSDocumentOndblclick(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2812{
2813 return IDLAttribute<JSDocument>::set<setJSDocumentOndblclickSetter>(*state, thisValue, encodedValue, "ondblclick");
2814}
2815
2816static inline JSValue jsDocumentOndragGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2817{
2818 UNUSED_PARAM(throwScope);
2819 UNUSED_PARAM(state);
2820 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragEvent, worldForDOMObject(thisObject));
2821}
2822
2823EncodedJSValue jsDocumentOndrag(ExecState* state, EncodedJSValue thisValue, PropertyName)
2824{
2825 return IDLAttribute<JSDocument>::get<jsDocumentOndragGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondrag");
2826}
2827
2828static inline bool setJSDocumentOndragSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2829{
2830 UNUSED_PARAM(throwScope);
2831 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragEvent, value);
2832 return true;
2833}
2834
2835bool setJSDocumentOndrag(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2836{
2837 return IDLAttribute<JSDocument>::set<setJSDocumentOndragSetter>(*state, thisValue, encodedValue, "ondrag");
2838}
2839
2840static inline JSValue jsDocumentOndragendGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2841{
2842 UNUSED_PARAM(throwScope);
2843 UNUSED_PARAM(state);
2844 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragendEvent, worldForDOMObject(thisObject));
2845}
2846
2847EncodedJSValue jsDocumentOndragend(ExecState* state, EncodedJSValue thisValue, PropertyName)
2848{
2849 return IDLAttribute<JSDocument>::get<jsDocumentOndragendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragend");
2850}
2851
2852static inline bool setJSDocumentOndragendSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2853{
2854 UNUSED_PARAM(throwScope);
2855 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragendEvent, value);
2856 return true;
2857}
2858
2859bool setJSDocumentOndragend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2860{
2861 return IDLAttribute<JSDocument>::set<setJSDocumentOndragendSetter>(*state, thisValue, encodedValue, "ondragend");
2862}
2863
2864static inline JSValue jsDocumentOndragenterGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2865{
2866 UNUSED_PARAM(throwScope);
2867 UNUSED_PARAM(state);
2868 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragenterEvent, worldForDOMObject(thisObject));
2869}
2870
2871EncodedJSValue jsDocumentOndragenter(ExecState* state, EncodedJSValue thisValue, PropertyName)
2872{
2873 return IDLAttribute<JSDocument>::get<jsDocumentOndragenterGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragenter");
2874}
2875
2876static inline bool setJSDocumentOndragenterSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2877{
2878 UNUSED_PARAM(throwScope);
2879 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragenterEvent, value);
2880 return true;
2881}
2882
2883bool setJSDocumentOndragenter(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2884{
2885 return IDLAttribute<JSDocument>::set<setJSDocumentOndragenterSetter>(*state, thisValue, encodedValue, "ondragenter");
2886}
2887
2888static inline JSValue jsDocumentOndragleaveGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2889{
2890 UNUSED_PARAM(throwScope);
2891 UNUSED_PARAM(state);
2892 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragleaveEvent, worldForDOMObject(thisObject));
2893}
2894
2895EncodedJSValue jsDocumentOndragleave(ExecState* state, EncodedJSValue thisValue, PropertyName)
2896{
2897 return IDLAttribute<JSDocument>::get<jsDocumentOndragleaveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragleave");
2898}
2899
2900static inline bool setJSDocumentOndragleaveSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2901{
2902 UNUSED_PARAM(throwScope);
2903 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragleaveEvent, value);
2904 return true;
2905}
2906
2907bool setJSDocumentOndragleave(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2908{
2909 return IDLAttribute<JSDocument>::set<setJSDocumentOndragleaveSetter>(*state, thisValue, encodedValue, "ondragleave");
2910}
2911
2912static inline JSValue jsDocumentOndragoverGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2913{
2914 UNUSED_PARAM(throwScope);
2915 UNUSED_PARAM(state);
2916 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragoverEvent, worldForDOMObject(thisObject));
2917}
2918
2919EncodedJSValue jsDocumentOndragover(ExecState* state, EncodedJSValue thisValue, PropertyName)
2920{
2921 return IDLAttribute<JSDocument>::get<jsDocumentOndragoverGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragover");
2922}
2923
2924static inline bool setJSDocumentOndragoverSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2925{
2926 UNUSED_PARAM(throwScope);
2927 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragoverEvent, value);
2928 return true;
2929}
2930
2931bool setJSDocumentOndragover(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2932{
2933 return IDLAttribute<JSDocument>::set<setJSDocumentOndragoverSetter>(*state, thisValue, encodedValue, "ondragover");
2934}
2935
2936static inline JSValue jsDocumentOndragstartGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2937{
2938 UNUSED_PARAM(throwScope);
2939 UNUSED_PARAM(state);
2940 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dragstartEvent, worldForDOMObject(thisObject));
2941}
2942
2943EncodedJSValue jsDocumentOndragstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
2944{
2945 return IDLAttribute<JSDocument>::get<jsDocumentOndragstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondragstart");
2946}
2947
2948static inline bool setJSDocumentOndragstartSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2949{
2950 UNUSED_PARAM(throwScope);
2951 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dragstartEvent, value);
2952 return true;
2953}
2954
2955bool setJSDocumentOndragstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2956{
2957 return IDLAttribute<JSDocument>::set<setJSDocumentOndragstartSetter>(*state, thisValue, encodedValue, "ondragstart");
2958}
2959
2960static inline JSValue jsDocumentOndropGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2961{
2962 UNUSED_PARAM(throwScope);
2963 UNUSED_PARAM(state);
2964 return eventHandlerAttribute(thisObject.wrapped(), eventNames().dropEvent, worldForDOMObject(thisObject));
2965}
2966
2967EncodedJSValue jsDocumentOndrop(ExecState* state, EncodedJSValue thisValue, PropertyName)
2968{
2969 return IDLAttribute<JSDocument>::get<jsDocumentOndropGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondrop");
2970}
2971
2972static inline bool setJSDocumentOndropSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2973{
2974 UNUSED_PARAM(throwScope);
2975 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().dropEvent, value);
2976 return true;
2977}
2978
2979bool setJSDocumentOndrop(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2980{
2981 return IDLAttribute<JSDocument>::set<setJSDocumentOndropSetter>(*state, thisValue, encodedValue, "ondrop");
2982}
2983
2984static inline JSValue jsDocumentOndurationchangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
2985{
2986 UNUSED_PARAM(throwScope);
2987 UNUSED_PARAM(state);
2988 return eventHandlerAttribute(thisObject.wrapped(), eventNames().durationchangeEvent, worldForDOMObject(thisObject));
2989}
2990
2991EncodedJSValue jsDocumentOndurationchange(ExecState* state, EncodedJSValue thisValue, PropertyName)
2992{
2993 return IDLAttribute<JSDocument>::get<jsDocumentOndurationchangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ondurationchange");
2994}
2995
2996static inline bool setJSDocumentOndurationchangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
2997{
2998 UNUSED_PARAM(throwScope);
2999 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().durationchangeEvent, value);
3000 return true;
3001}
3002
3003bool setJSDocumentOndurationchange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3004{
3005 return IDLAttribute<JSDocument>::set<setJSDocumentOndurationchangeSetter>(*state, thisValue, encodedValue, "ondurationchange");
3006}
3007
3008static inline JSValue jsDocumentOnemptiedGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3009{
3010 UNUSED_PARAM(throwScope);
3011 UNUSED_PARAM(state);
3012 return eventHandlerAttribute(thisObject.wrapped(), eventNames().emptiedEvent, worldForDOMObject(thisObject));
3013}
3014
3015EncodedJSValue jsDocumentOnemptied(ExecState* state, EncodedJSValue thisValue, PropertyName)
3016{
3017 return IDLAttribute<JSDocument>::get<jsDocumentOnemptiedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onemptied");
3018}
3019
3020static inline bool setJSDocumentOnemptiedSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3021{
3022 UNUSED_PARAM(throwScope);
3023 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().emptiedEvent, value);
3024 return true;
3025}
3026
3027bool setJSDocumentOnemptied(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3028{
3029 return IDLAttribute<JSDocument>::set<setJSDocumentOnemptiedSetter>(*state, thisValue, encodedValue, "onemptied");
3030}
3031
3032static inline JSValue jsDocumentOnendedGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3033{
3034 UNUSED_PARAM(throwScope);
3035 UNUSED_PARAM(state);
3036 return eventHandlerAttribute(thisObject.wrapped(), eventNames().endedEvent, worldForDOMObject(thisObject));
3037}
3038
3039EncodedJSValue jsDocumentOnended(ExecState* state, EncodedJSValue thisValue, PropertyName)
3040{
3041 return IDLAttribute<JSDocument>::get<jsDocumentOnendedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onended");
3042}
3043
3044static inline bool setJSDocumentOnendedSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3045{
3046 UNUSED_PARAM(throwScope);
3047 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().endedEvent, value);
3048 return true;
3049}
3050
3051bool setJSDocumentOnended(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3052{
3053 return IDLAttribute<JSDocument>::set<setJSDocumentOnendedSetter>(*state, thisValue, encodedValue, "onended");
3054}
3055
3056static inline JSValue jsDocumentOnerrorGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3057{
3058 UNUSED_PARAM(throwScope);
3059 UNUSED_PARAM(state);
3060 return eventHandlerAttribute(thisObject.wrapped(), eventNames().errorEvent, worldForDOMObject(thisObject));
3061}
3062
3063EncodedJSValue jsDocumentOnerror(ExecState* state, EncodedJSValue thisValue, PropertyName)
3064{
3065 return IDLAttribute<JSDocument>::get<jsDocumentOnerrorGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onerror");
3066}
3067
3068static inline bool setJSDocumentOnerrorSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3069{
3070 UNUSED_PARAM(throwScope);
3071 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().errorEvent, value);
3072 return true;
3073}
3074
3075bool setJSDocumentOnerror(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3076{
3077 return IDLAttribute<JSDocument>::set<setJSDocumentOnerrorSetter>(*state, thisValue, encodedValue, "onerror");
3078}
3079
3080static inline JSValue jsDocumentOnfocusGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3081{
3082 UNUSED_PARAM(throwScope);
3083 UNUSED_PARAM(state);
3084 return eventHandlerAttribute(thisObject.wrapped(), eventNames().focusEvent, worldForDOMObject(thisObject));
3085}
3086
3087EncodedJSValue jsDocumentOnfocus(ExecState* state, EncodedJSValue thisValue, PropertyName)
3088{
3089 return IDLAttribute<JSDocument>::get<jsDocumentOnfocusGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onfocus");
3090}
3091
3092static inline bool setJSDocumentOnfocusSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3093{
3094 UNUSED_PARAM(throwScope);
3095 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().focusEvent, value);
3096 return true;
3097}
3098
3099bool setJSDocumentOnfocus(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3100{
3101 return IDLAttribute<JSDocument>::set<setJSDocumentOnfocusSetter>(*state, thisValue, encodedValue, "onfocus");
3102}
3103
3104static inline JSValue jsDocumentOninputGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3105{
3106 UNUSED_PARAM(throwScope);
3107 UNUSED_PARAM(state);
3108 return eventHandlerAttribute(thisObject.wrapped(), eventNames().inputEvent, worldForDOMObject(thisObject));
3109}
3110
3111EncodedJSValue jsDocumentOninput(ExecState* state, EncodedJSValue thisValue, PropertyName)
3112{
3113 return IDLAttribute<JSDocument>::get<jsDocumentOninputGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oninput");
3114}
3115
3116static inline bool setJSDocumentOninputSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3117{
3118 UNUSED_PARAM(throwScope);
3119 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().inputEvent, value);
3120 return true;
3121}
3122
3123bool setJSDocumentOninput(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3124{
3125 return IDLAttribute<JSDocument>::set<setJSDocumentOninputSetter>(*state, thisValue, encodedValue, "oninput");
3126}
3127
3128static inline JSValue jsDocumentOninvalidGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3129{
3130 UNUSED_PARAM(throwScope);
3131 UNUSED_PARAM(state);
3132 return eventHandlerAttribute(thisObject.wrapped(), eventNames().invalidEvent, worldForDOMObject(thisObject));
3133}
3134
3135EncodedJSValue jsDocumentOninvalid(ExecState* state, EncodedJSValue thisValue, PropertyName)
3136{
3137 return IDLAttribute<JSDocument>::get<jsDocumentOninvalidGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "oninvalid");
3138}
3139
3140static inline bool setJSDocumentOninvalidSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3141{
3142 UNUSED_PARAM(throwScope);
3143 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().invalidEvent, value);
3144 return true;
3145}
3146
3147bool setJSDocumentOninvalid(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3148{
3149 return IDLAttribute<JSDocument>::set<setJSDocumentOninvalidSetter>(*state, thisValue, encodedValue, "oninvalid");
3150}
3151
3152static inline JSValue jsDocumentOnkeydownGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3153{
3154 UNUSED_PARAM(throwScope);
3155 UNUSED_PARAM(state);
3156 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keydownEvent, worldForDOMObject(thisObject));
3157}
3158
3159EncodedJSValue jsDocumentOnkeydown(ExecState* state, EncodedJSValue thisValue, PropertyName)
3160{
3161 return IDLAttribute<JSDocument>::get<jsDocumentOnkeydownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onkeydown");
3162}
3163
3164static inline bool setJSDocumentOnkeydownSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3165{
3166 UNUSED_PARAM(throwScope);
3167 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().keydownEvent, value);
3168 return true;
3169}
3170
3171bool setJSDocumentOnkeydown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3172{
3173 return IDLAttribute<JSDocument>::set<setJSDocumentOnkeydownSetter>(*state, thisValue, encodedValue, "onkeydown");
3174}
3175
3176static inline JSValue jsDocumentOnkeypressGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3177{
3178 UNUSED_PARAM(throwScope);
3179 UNUSED_PARAM(state);
3180 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keypressEvent, worldForDOMObject(thisObject));
3181}
3182
3183EncodedJSValue jsDocumentOnkeypress(ExecState* state, EncodedJSValue thisValue, PropertyName)
3184{
3185 return IDLAttribute<JSDocument>::get<jsDocumentOnkeypressGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onkeypress");
3186}
3187
3188static inline bool setJSDocumentOnkeypressSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3189{
3190 UNUSED_PARAM(throwScope);
3191 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().keypressEvent, value);
3192 return true;
3193}
3194
3195bool setJSDocumentOnkeypress(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3196{
3197 return IDLAttribute<JSDocument>::set<setJSDocumentOnkeypressSetter>(*state, thisValue, encodedValue, "onkeypress");
3198}
3199
3200static inline JSValue jsDocumentOnkeyupGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3201{
3202 UNUSED_PARAM(throwScope);
3203 UNUSED_PARAM(state);
3204 return eventHandlerAttribute(thisObject.wrapped(), eventNames().keyupEvent, worldForDOMObject(thisObject));
3205}
3206
3207EncodedJSValue jsDocumentOnkeyup(ExecState* state, EncodedJSValue thisValue, PropertyName)
3208{
3209 return IDLAttribute<JSDocument>::get<jsDocumentOnkeyupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onkeyup");
3210}
3211
3212static inline bool setJSDocumentOnkeyupSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3213{
3214 UNUSED_PARAM(throwScope);
3215 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().keyupEvent, value);
3216 return true;
3217}
3218
3219bool setJSDocumentOnkeyup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3220{
3221 return IDLAttribute<JSDocument>::set<setJSDocumentOnkeyupSetter>(*state, thisValue, encodedValue, "onkeyup");
3222}
3223
3224static inline JSValue jsDocumentOnloadGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3225{
3226 UNUSED_PARAM(throwScope);
3227 UNUSED_PARAM(state);
3228 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadEvent, worldForDOMObject(thisObject));
3229}
3230
3231EncodedJSValue jsDocumentOnload(ExecState* state, EncodedJSValue thisValue, PropertyName)
3232{
3233 return IDLAttribute<JSDocument>::get<jsDocumentOnloadGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onload");
3234}
3235
3236static inline bool setJSDocumentOnloadSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3237{
3238 UNUSED_PARAM(throwScope);
3239 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadEvent, value);
3240 return true;
3241}
3242
3243bool setJSDocumentOnload(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3244{
3245 return IDLAttribute<JSDocument>::set<setJSDocumentOnloadSetter>(*state, thisValue, encodedValue, "onload");
3246}
3247
3248static inline JSValue jsDocumentOnloadeddataGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3249{
3250 UNUSED_PARAM(throwScope);
3251 UNUSED_PARAM(state);
3252 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadeddataEvent, worldForDOMObject(thisObject));
3253}
3254
3255EncodedJSValue jsDocumentOnloadeddata(ExecState* state, EncodedJSValue thisValue, PropertyName)
3256{
3257 return IDLAttribute<JSDocument>::get<jsDocumentOnloadeddataGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onloadeddata");
3258}
3259
3260static inline bool setJSDocumentOnloadeddataSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3261{
3262 UNUSED_PARAM(throwScope);
3263 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadeddataEvent, value);
3264 return true;
3265}
3266
3267bool setJSDocumentOnloadeddata(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3268{
3269 return IDLAttribute<JSDocument>::set<setJSDocumentOnloadeddataSetter>(*state, thisValue, encodedValue, "onloadeddata");
3270}
3271
3272static inline JSValue jsDocumentOnloadedmetadataGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3273{
3274 UNUSED_PARAM(throwScope);
3275 UNUSED_PARAM(state);
3276 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadedmetadataEvent, worldForDOMObject(thisObject));
3277}
3278
3279EncodedJSValue jsDocumentOnloadedmetadata(ExecState* state, EncodedJSValue thisValue, PropertyName)
3280{
3281 return IDLAttribute<JSDocument>::get<jsDocumentOnloadedmetadataGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onloadedmetadata");
3282}
3283
3284static inline bool setJSDocumentOnloadedmetadataSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3285{
3286 UNUSED_PARAM(throwScope);
3287 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadedmetadataEvent, value);
3288 return true;
3289}
3290
3291bool setJSDocumentOnloadedmetadata(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3292{
3293 return IDLAttribute<JSDocument>::set<setJSDocumentOnloadedmetadataSetter>(*state, thisValue, encodedValue, "onloadedmetadata");
3294}
3295
3296static inline JSValue jsDocumentOnloadstartGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3297{
3298 UNUSED_PARAM(throwScope);
3299 UNUSED_PARAM(state);
3300 return eventHandlerAttribute(thisObject.wrapped(), eventNames().loadstartEvent, worldForDOMObject(thisObject));
3301}
3302
3303EncodedJSValue jsDocumentOnloadstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
3304{
3305 return IDLAttribute<JSDocument>::get<jsDocumentOnloadstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onloadstart");
3306}
3307
3308static inline bool setJSDocumentOnloadstartSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3309{
3310 UNUSED_PARAM(throwScope);
3311 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().loadstartEvent, value);
3312 return true;
3313}
3314
3315bool setJSDocumentOnloadstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3316{
3317 return IDLAttribute<JSDocument>::set<setJSDocumentOnloadstartSetter>(*state, thisValue, encodedValue, "onloadstart");
3318}
3319
3320static inline JSValue jsDocumentOnmousedownGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3321{
3322 UNUSED_PARAM(throwScope);
3323 UNUSED_PARAM(state);
3324 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousedownEvent, worldForDOMObject(thisObject));
3325}
3326
3327EncodedJSValue jsDocumentOnmousedown(ExecState* state, EncodedJSValue thisValue, PropertyName)
3328{
3329 return IDLAttribute<JSDocument>::get<jsDocumentOnmousedownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmousedown");
3330}
3331
3332static inline bool setJSDocumentOnmousedownSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3333{
3334 UNUSED_PARAM(throwScope);
3335 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mousedownEvent, value);
3336 return true;
3337}
3338
3339bool setJSDocumentOnmousedown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3340{
3341 return IDLAttribute<JSDocument>::set<setJSDocumentOnmousedownSetter>(*state, thisValue, encodedValue, "onmousedown");
3342}
3343
3344static inline JSValue jsDocumentOnmouseenterGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3345{
3346 UNUSED_PARAM(throwScope);
3347 UNUSED_PARAM(state);
3348 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseenterEvent, worldForDOMObject(thisObject));
3349}
3350
3351EncodedJSValue jsDocumentOnmouseenter(ExecState* state, EncodedJSValue thisValue, PropertyName)
3352{
3353 return IDLAttribute<JSDocument>::get<jsDocumentOnmouseenterGetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, "onmouseenter");
3354}
3355
3356static inline bool setJSDocumentOnmouseenterSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3357{
3358 UNUSED_PARAM(throwScope);
3359 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseenterEvent, value);
3360 return true;
3361}
3362
3363bool setJSDocumentOnmouseenter(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3364{
3365 return IDLAttribute<JSDocument>::set<setJSDocumentOnmouseenterSetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, encodedValue, "onmouseenter");
3366}
3367
3368static inline JSValue jsDocumentOnmouseleaveGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3369{
3370 UNUSED_PARAM(throwScope);
3371 UNUSED_PARAM(state);
3372 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseleaveEvent, worldForDOMObject(thisObject));
3373}
3374
3375EncodedJSValue jsDocumentOnmouseleave(ExecState* state, EncodedJSValue thisValue, PropertyName)
3376{
3377 return IDLAttribute<JSDocument>::get<jsDocumentOnmouseleaveGetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, "onmouseleave");
3378}
3379
3380static inline bool setJSDocumentOnmouseleaveSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3381{
3382 UNUSED_PARAM(throwScope);
3383 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseleaveEvent, value);
3384 return true;
3385}
3386
3387bool setJSDocumentOnmouseleave(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3388{
3389 return IDLAttribute<JSDocument>::set<setJSDocumentOnmouseleaveSetter, CastedThisErrorBehavior::ReturnEarly>(*state, thisValue, encodedValue, "onmouseleave");
3390}
3391
3392static inline JSValue jsDocumentOnmousemoveGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3393{
3394 UNUSED_PARAM(throwScope);
3395 UNUSED_PARAM(state);
3396 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousemoveEvent, worldForDOMObject(thisObject));
3397}
3398
3399EncodedJSValue jsDocumentOnmousemove(ExecState* state, EncodedJSValue thisValue, PropertyName)
3400{
3401 return IDLAttribute<JSDocument>::get<jsDocumentOnmousemoveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmousemove");
3402}
3403
3404static inline bool setJSDocumentOnmousemoveSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3405{
3406 UNUSED_PARAM(throwScope);
3407 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mousemoveEvent, value);
3408 return true;
3409}
3410
3411bool setJSDocumentOnmousemove(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3412{
3413 return IDLAttribute<JSDocument>::set<setJSDocumentOnmousemoveSetter>(*state, thisValue, encodedValue, "onmousemove");
3414}
3415
3416static inline JSValue jsDocumentOnmouseoutGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3417{
3418 UNUSED_PARAM(throwScope);
3419 UNUSED_PARAM(state);
3420 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseoutEvent, worldForDOMObject(thisObject));
3421}
3422
3423EncodedJSValue jsDocumentOnmouseout(ExecState* state, EncodedJSValue thisValue, PropertyName)
3424{
3425 return IDLAttribute<JSDocument>::get<jsDocumentOnmouseoutGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmouseout");
3426}
3427
3428static inline bool setJSDocumentOnmouseoutSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3429{
3430 UNUSED_PARAM(throwScope);
3431 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseoutEvent, value);
3432 return true;
3433}
3434
3435bool setJSDocumentOnmouseout(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3436{
3437 return IDLAttribute<JSDocument>::set<setJSDocumentOnmouseoutSetter>(*state, thisValue, encodedValue, "onmouseout");
3438}
3439
3440static inline JSValue jsDocumentOnmouseoverGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3441{
3442 UNUSED_PARAM(throwScope);
3443 UNUSED_PARAM(state);
3444 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseoverEvent, worldForDOMObject(thisObject));
3445}
3446
3447EncodedJSValue jsDocumentOnmouseover(ExecState* state, EncodedJSValue thisValue, PropertyName)
3448{
3449 return IDLAttribute<JSDocument>::get<jsDocumentOnmouseoverGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmouseover");
3450}
3451
3452static inline bool setJSDocumentOnmouseoverSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3453{
3454 UNUSED_PARAM(throwScope);
3455 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseoverEvent, value);
3456 return true;
3457}
3458
3459bool setJSDocumentOnmouseover(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3460{
3461 return IDLAttribute<JSDocument>::set<setJSDocumentOnmouseoverSetter>(*state, thisValue, encodedValue, "onmouseover");
3462}
3463
3464static inline JSValue jsDocumentOnmouseupGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3465{
3466 UNUSED_PARAM(throwScope);
3467 UNUSED_PARAM(state);
3468 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mouseupEvent, worldForDOMObject(thisObject));
3469}
3470
3471EncodedJSValue jsDocumentOnmouseup(ExecState* state, EncodedJSValue thisValue, PropertyName)
3472{
3473 return IDLAttribute<JSDocument>::get<jsDocumentOnmouseupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmouseup");
3474}
3475
3476static inline bool setJSDocumentOnmouseupSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3477{
3478 UNUSED_PARAM(throwScope);
3479 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mouseupEvent, value);
3480 return true;
3481}
3482
3483bool setJSDocumentOnmouseup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3484{
3485 return IDLAttribute<JSDocument>::set<setJSDocumentOnmouseupSetter>(*state, thisValue, encodedValue, "onmouseup");
3486}
3487
3488static inline JSValue jsDocumentOnmousewheelGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3489{
3490 UNUSED_PARAM(throwScope);
3491 UNUSED_PARAM(state);
3492 return eventHandlerAttribute(thisObject.wrapped(), eventNames().mousewheelEvent, worldForDOMObject(thisObject));
3493}
3494
3495EncodedJSValue jsDocumentOnmousewheel(ExecState* state, EncodedJSValue thisValue, PropertyName)
3496{
3497 return IDLAttribute<JSDocument>::get<jsDocumentOnmousewheelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onmousewheel");
3498}
3499
3500static inline bool setJSDocumentOnmousewheelSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3501{
3502 UNUSED_PARAM(throwScope);
3503 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().mousewheelEvent, value);
3504 return true;
3505}
3506
3507bool setJSDocumentOnmousewheel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3508{
3509 return IDLAttribute<JSDocument>::set<setJSDocumentOnmousewheelSetter>(*state, thisValue, encodedValue, "onmousewheel");
3510}
3511
3512static inline JSValue jsDocumentOnpauseGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3513{
3514 UNUSED_PARAM(throwScope);
3515 UNUSED_PARAM(state);
3516 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pauseEvent, worldForDOMObject(thisObject));
3517}
3518
3519EncodedJSValue jsDocumentOnpause(ExecState* state, EncodedJSValue thisValue, PropertyName)
3520{
3521 return IDLAttribute<JSDocument>::get<jsDocumentOnpauseGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpause");
3522}
3523
3524static inline bool setJSDocumentOnpauseSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3525{
3526 UNUSED_PARAM(throwScope);
3527 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pauseEvent, value);
3528 return true;
3529}
3530
3531bool setJSDocumentOnpause(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3532{
3533 return IDLAttribute<JSDocument>::set<setJSDocumentOnpauseSetter>(*state, thisValue, encodedValue, "onpause");
3534}
3535
3536static inline JSValue jsDocumentOnplayGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3537{
3538 UNUSED_PARAM(throwScope);
3539 UNUSED_PARAM(state);
3540 return eventHandlerAttribute(thisObject.wrapped(), eventNames().playEvent, worldForDOMObject(thisObject));
3541}
3542
3543EncodedJSValue jsDocumentOnplay(ExecState* state, EncodedJSValue thisValue, PropertyName)
3544{
3545 return IDLAttribute<JSDocument>::get<jsDocumentOnplayGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onplay");
3546}
3547
3548static inline bool setJSDocumentOnplaySetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3549{
3550 UNUSED_PARAM(throwScope);
3551 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().playEvent, value);
3552 return true;
3553}
3554
3555bool setJSDocumentOnplay(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3556{
3557 return IDLAttribute<JSDocument>::set<setJSDocumentOnplaySetter>(*state, thisValue, encodedValue, "onplay");
3558}
3559
3560static inline JSValue jsDocumentOnplayingGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3561{
3562 UNUSED_PARAM(throwScope);
3563 UNUSED_PARAM(state);
3564 return eventHandlerAttribute(thisObject.wrapped(), eventNames().playingEvent, worldForDOMObject(thisObject));
3565}
3566
3567EncodedJSValue jsDocumentOnplaying(ExecState* state, EncodedJSValue thisValue, PropertyName)
3568{
3569 return IDLAttribute<JSDocument>::get<jsDocumentOnplayingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onplaying");
3570}
3571
3572static inline bool setJSDocumentOnplayingSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3573{
3574 UNUSED_PARAM(throwScope);
3575 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().playingEvent, value);
3576 return true;
3577}
3578
3579bool setJSDocumentOnplaying(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3580{
3581 return IDLAttribute<JSDocument>::set<setJSDocumentOnplayingSetter>(*state, thisValue, encodedValue, "onplaying");
3582}
3583
3584static inline JSValue jsDocumentOnprogressGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3585{
3586 UNUSED_PARAM(throwScope);
3587 UNUSED_PARAM(state);
3588 return eventHandlerAttribute(thisObject.wrapped(), eventNames().progressEvent, worldForDOMObject(thisObject));
3589}
3590
3591EncodedJSValue jsDocumentOnprogress(ExecState* state, EncodedJSValue thisValue, PropertyName)
3592{
3593 return IDLAttribute<JSDocument>::get<jsDocumentOnprogressGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onprogress");
3594}
3595
3596static inline bool setJSDocumentOnprogressSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3597{
3598 UNUSED_PARAM(throwScope);
3599 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().progressEvent, value);
3600 return true;
3601}
3602
3603bool setJSDocumentOnprogress(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3604{
3605 return IDLAttribute<JSDocument>::set<setJSDocumentOnprogressSetter>(*state, thisValue, encodedValue, "onprogress");
3606}
3607
3608static inline JSValue jsDocumentOnratechangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3609{
3610 UNUSED_PARAM(throwScope);
3611 UNUSED_PARAM(state);
3612 return eventHandlerAttribute(thisObject.wrapped(), eventNames().ratechangeEvent, worldForDOMObject(thisObject));
3613}
3614
3615EncodedJSValue jsDocumentOnratechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
3616{
3617 return IDLAttribute<JSDocument>::get<jsDocumentOnratechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onratechange");
3618}
3619
3620static inline bool setJSDocumentOnratechangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3621{
3622 UNUSED_PARAM(throwScope);
3623 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().ratechangeEvent, value);
3624 return true;
3625}
3626
3627bool setJSDocumentOnratechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3628{
3629 return IDLAttribute<JSDocument>::set<setJSDocumentOnratechangeSetter>(*state, thisValue, encodedValue, "onratechange");
3630}
3631
3632static inline JSValue jsDocumentOnrejectionhandledGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3633{
3634 UNUSED_PARAM(throwScope);
3635 UNUSED_PARAM(state);
3636 return eventHandlerAttribute(thisObject.wrapped(), eventNames().rejectionhandledEvent, worldForDOMObject(thisObject));
3637}
3638
3639EncodedJSValue jsDocumentOnrejectionhandled(ExecState* state, EncodedJSValue thisValue, PropertyName)
3640{
3641 return IDLAttribute<JSDocument>::get<jsDocumentOnrejectionhandledGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onrejectionhandled");
3642}
3643
3644static inline bool setJSDocumentOnrejectionhandledSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3645{
3646 UNUSED_PARAM(throwScope);
3647 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().rejectionhandledEvent, value);
3648 return true;
3649}
3650
3651bool setJSDocumentOnrejectionhandled(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3652{
3653 return IDLAttribute<JSDocument>::set<setJSDocumentOnrejectionhandledSetter>(*state, thisValue, encodedValue, "onrejectionhandled");
3654}
3655
3656static inline JSValue jsDocumentOnresetGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3657{
3658 UNUSED_PARAM(throwScope);
3659 UNUSED_PARAM(state);
3660 return eventHandlerAttribute(thisObject.wrapped(), eventNames().resetEvent, worldForDOMObject(thisObject));
3661}
3662
3663EncodedJSValue jsDocumentOnreset(ExecState* state, EncodedJSValue thisValue, PropertyName)
3664{
3665 return IDLAttribute<JSDocument>::get<jsDocumentOnresetGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onreset");
3666}
3667
3668static inline bool setJSDocumentOnresetSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3669{
3670 UNUSED_PARAM(throwScope);
3671 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().resetEvent, value);
3672 return true;
3673}
3674
3675bool setJSDocumentOnreset(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3676{
3677 return IDLAttribute<JSDocument>::set<setJSDocumentOnresetSetter>(*state, thisValue, encodedValue, "onreset");
3678}
3679
3680static inline JSValue jsDocumentOnresizeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3681{
3682 UNUSED_PARAM(throwScope);
3683 UNUSED_PARAM(state);
3684 return eventHandlerAttribute(thisObject.wrapped(), eventNames().resizeEvent, worldForDOMObject(thisObject));
3685}
3686
3687EncodedJSValue jsDocumentOnresize(ExecState* state, EncodedJSValue thisValue, PropertyName)
3688{
3689 return IDLAttribute<JSDocument>::get<jsDocumentOnresizeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onresize");
3690}
3691
3692static inline bool setJSDocumentOnresizeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3693{
3694 UNUSED_PARAM(throwScope);
3695 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().resizeEvent, value);
3696 return true;
3697}
3698
3699bool setJSDocumentOnresize(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3700{
3701 return IDLAttribute<JSDocument>::set<setJSDocumentOnresizeSetter>(*state, thisValue, encodedValue, "onresize");
3702}
3703
3704static inline JSValue jsDocumentOnscrollGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3705{
3706 UNUSED_PARAM(throwScope);
3707 UNUSED_PARAM(state);
3708 return eventHandlerAttribute(thisObject.wrapped(), eventNames().scrollEvent, worldForDOMObject(thisObject));
3709}
3710
3711EncodedJSValue jsDocumentOnscroll(ExecState* state, EncodedJSValue thisValue, PropertyName)
3712{
3713 return IDLAttribute<JSDocument>::get<jsDocumentOnscrollGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onscroll");
3714}
3715
3716static inline bool setJSDocumentOnscrollSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3717{
3718 UNUSED_PARAM(throwScope);
3719 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().scrollEvent, value);
3720 return true;
3721}
3722
3723bool setJSDocumentOnscroll(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3724{
3725 return IDLAttribute<JSDocument>::set<setJSDocumentOnscrollSetter>(*state, thisValue, encodedValue, "onscroll");
3726}
3727
3728static inline JSValue jsDocumentOnseekedGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3729{
3730 UNUSED_PARAM(throwScope);
3731 UNUSED_PARAM(state);
3732 return eventHandlerAttribute(thisObject.wrapped(), eventNames().seekedEvent, worldForDOMObject(thisObject));
3733}
3734
3735EncodedJSValue jsDocumentOnseeked(ExecState* state, EncodedJSValue thisValue, PropertyName)
3736{
3737 return IDLAttribute<JSDocument>::get<jsDocumentOnseekedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onseeked");
3738}
3739
3740static inline bool setJSDocumentOnseekedSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3741{
3742 UNUSED_PARAM(throwScope);
3743 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().seekedEvent, value);
3744 return true;
3745}
3746
3747bool setJSDocumentOnseeked(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3748{
3749 return IDLAttribute<JSDocument>::set<setJSDocumentOnseekedSetter>(*state, thisValue, encodedValue, "onseeked");
3750}
3751
3752static inline JSValue jsDocumentOnseekingGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3753{
3754 UNUSED_PARAM(throwScope);
3755 UNUSED_PARAM(state);
3756 return eventHandlerAttribute(thisObject.wrapped(), eventNames().seekingEvent, worldForDOMObject(thisObject));
3757}
3758
3759EncodedJSValue jsDocumentOnseeking(ExecState* state, EncodedJSValue thisValue, PropertyName)
3760{
3761 return IDLAttribute<JSDocument>::get<jsDocumentOnseekingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onseeking");
3762}
3763
3764static inline bool setJSDocumentOnseekingSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3765{
3766 UNUSED_PARAM(throwScope);
3767 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().seekingEvent, value);
3768 return true;
3769}
3770
3771bool setJSDocumentOnseeking(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3772{
3773 return IDLAttribute<JSDocument>::set<setJSDocumentOnseekingSetter>(*state, thisValue, encodedValue, "onseeking");
3774}
3775
3776static inline JSValue jsDocumentOnselectGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3777{
3778 UNUSED_PARAM(throwScope);
3779 UNUSED_PARAM(state);
3780 return eventHandlerAttribute(thisObject.wrapped(), eventNames().selectEvent, worldForDOMObject(thisObject));
3781}
3782
3783EncodedJSValue jsDocumentOnselect(ExecState* state, EncodedJSValue thisValue, PropertyName)
3784{
3785 return IDLAttribute<JSDocument>::get<jsDocumentOnselectGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onselect");
3786}
3787
3788static inline bool setJSDocumentOnselectSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3789{
3790 UNUSED_PARAM(throwScope);
3791 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().selectEvent, value);
3792 return true;
3793}
3794
3795bool setJSDocumentOnselect(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3796{
3797 return IDLAttribute<JSDocument>::set<setJSDocumentOnselectSetter>(*state, thisValue, encodedValue, "onselect");
3798}
3799
3800static inline JSValue jsDocumentOnstalledGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3801{
3802 UNUSED_PARAM(throwScope);
3803 UNUSED_PARAM(state);
3804 return eventHandlerAttribute(thisObject.wrapped(), eventNames().stalledEvent, worldForDOMObject(thisObject));
3805}
3806
3807EncodedJSValue jsDocumentOnstalled(ExecState* state, EncodedJSValue thisValue, PropertyName)
3808{
3809 return IDLAttribute<JSDocument>::get<jsDocumentOnstalledGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onstalled");
3810}
3811
3812static inline bool setJSDocumentOnstalledSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3813{
3814 UNUSED_PARAM(throwScope);
3815 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().stalledEvent, value);
3816 return true;
3817}
3818
3819bool setJSDocumentOnstalled(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3820{
3821 return IDLAttribute<JSDocument>::set<setJSDocumentOnstalledSetter>(*state, thisValue, encodedValue, "onstalled");
3822}
3823
3824static inline JSValue jsDocumentOnsubmitGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3825{
3826 UNUSED_PARAM(throwScope);
3827 UNUSED_PARAM(state);
3828 return eventHandlerAttribute(thisObject.wrapped(), eventNames().submitEvent, worldForDOMObject(thisObject));
3829}
3830
3831EncodedJSValue jsDocumentOnsubmit(ExecState* state, EncodedJSValue thisValue, PropertyName)
3832{
3833 return IDLAttribute<JSDocument>::get<jsDocumentOnsubmitGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onsubmit");
3834}
3835
3836static inline bool setJSDocumentOnsubmitSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3837{
3838 UNUSED_PARAM(throwScope);
3839 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().submitEvent, value);
3840 return true;
3841}
3842
3843bool setJSDocumentOnsubmit(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3844{
3845 return IDLAttribute<JSDocument>::set<setJSDocumentOnsubmitSetter>(*state, thisValue, encodedValue, "onsubmit");
3846}
3847
3848static inline JSValue jsDocumentOnsuspendGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3849{
3850 UNUSED_PARAM(throwScope);
3851 UNUSED_PARAM(state);
3852 return eventHandlerAttribute(thisObject.wrapped(), eventNames().suspendEvent, worldForDOMObject(thisObject));
3853}
3854
3855EncodedJSValue jsDocumentOnsuspend(ExecState* state, EncodedJSValue thisValue, PropertyName)
3856{
3857 return IDLAttribute<JSDocument>::get<jsDocumentOnsuspendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onsuspend");
3858}
3859
3860static inline bool setJSDocumentOnsuspendSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3861{
3862 UNUSED_PARAM(throwScope);
3863 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().suspendEvent, value);
3864 return true;
3865}
3866
3867bool setJSDocumentOnsuspend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3868{
3869 return IDLAttribute<JSDocument>::set<setJSDocumentOnsuspendSetter>(*state, thisValue, encodedValue, "onsuspend");
3870}
3871
3872static inline JSValue jsDocumentOntimeupdateGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3873{
3874 UNUSED_PARAM(throwScope);
3875 UNUSED_PARAM(state);
3876 return eventHandlerAttribute(thisObject.wrapped(), eventNames().timeupdateEvent, worldForDOMObject(thisObject));
3877}
3878
3879EncodedJSValue jsDocumentOntimeupdate(ExecState* state, EncodedJSValue thisValue, PropertyName)
3880{
3881 return IDLAttribute<JSDocument>::get<jsDocumentOntimeupdateGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontimeupdate");
3882}
3883
3884static inline bool setJSDocumentOntimeupdateSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3885{
3886 UNUSED_PARAM(throwScope);
3887 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().timeupdateEvent, value);
3888 return true;
3889}
3890
3891bool setJSDocumentOntimeupdate(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3892{
3893 return IDLAttribute<JSDocument>::set<setJSDocumentOntimeupdateSetter>(*state, thisValue, encodedValue, "ontimeupdate");
3894}
3895
3896static inline JSValue jsDocumentOntoggleGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3897{
3898 UNUSED_PARAM(throwScope);
3899 UNUSED_PARAM(state);
3900 return eventHandlerAttribute(thisObject.wrapped(), eventNames().toggleEvent, worldForDOMObject(thisObject));
3901}
3902
3903EncodedJSValue jsDocumentOntoggle(ExecState* state, EncodedJSValue thisValue, PropertyName)
3904{
3905 return IDLAttribute<JSDocument>::get<jsDocumentOntoggleGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontoggle");
3906}
3907
3908static inline bool setJSDocumentOntoggleSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3909{
3910 UNUSED_PARAM(throwScope);
3911 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().toggleEvent, value);
3912 return true;
3913}
3914
3915bool setJSDocumentOntoggle(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3916{
3917 return IDLAttribute<JSDocument>::set<setJSDocumentOntoggleSetter>(*state, thisValue, encodedValue, "ontoggle");
3918}
3919
3920static inline JSValue jsDocumentOnunhandledrejectionGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3921{
3922 UNUSED_PARAM(throwScope);
3923 UNUSED_PARAM(state);
3924 return eventHandlerAttribute(thisObject.wrapped(), eventNames().unhandledrejectionEvent, worldForDOMObject(thisObject));
3925}
3926
3927EncodedJSValue jsDocumentOnunhandledrejection(ExecState* state, EncodedJSValue thisValue, PropertyName)
3928{
3929 return IDLAttribute<JSDocument>::get<jsDocumentOnunhandledrejectionGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onunhandledrejection");
3930}
3931
3932static inline bool setJSDocumentOnunhandledrejectionSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3933{
3934 UNUSED_PARAM(throwScope);
3935 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().unhandledrejectionEvent, value);
3936 return true;
3937}
3938
3939bool setJSDocumentOnunhandledrejection(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3940{
3941 return IDLAttribute<JSDocument>::set<setJSDocumentOnunhandledrejectionSetter>(*state, thisValue, encodedValue, "onunhandledrejection");
3942}
3943
3944static inline JSValue jsDocumentOnvolumechangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3945{
3946 UNUSED_PARAM(throwScope);
3947 UNUSED_PARAM(state);
3948 return eventHandlerAttribute(thisObject.wrapped(), eventNames().volumechangeEvent, worldForDOMObject(thisObject));
3949}
3950
3951EncodedJSValue jsDocumentOnvolumechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
3952{
3953 return IDLAttribute<JSDocument>::get<jsDocumentOnvolumechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onvolumechange");
3954}
3955
3956static inline bool setJSDocumentOnvolumechangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3957{
3958 UNUSED_PARAM(throwScope);
3959 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().volumechangeEvent, value);
3960 return true;
3961}
3962
3963bool setJSDocumentOnvolumechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3964{
3965 return IDLAttribute<JSDocument>::set<setJSDocumentOnvolumechangeSetter>(*state, thisValue, encodedValue, "onvolumechange");
3966}
3967
3968static inline JSValue jsDocumentOnwaitingGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3969{
3970 UNUSED_PARAM(throwScope);
3971 UNUSED_PARAM(state);
3972 return eventHandlerAttribute(thisObject.wrapped(), eventNames().waitingEvent, worldForDOMObject(thisObject));
3973}
3974
3975EncodedJSValue jsDocumentOnwaiting(ExecState* state, EncodedJSValue thisValue, PropertyName)
3976{
3977 return IDLAttribute<JSDocument>::get<jsDocumentOnwaitingGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwaiting");
3978}
3979
3980static inline bool setJSDocumentOnwaitingSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
3981{
3982 UNUSED_PARAM(throwScope);
3983 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().waitingEvent, value);
3984 return true;
3985}
3986
3987bool setJSDocumentOnwaiting(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3988{
3989 return IDLAttribute<JSDocument>::set<setJSDocumentOnwaitingSetter>(*state, thisValue, encodedValue, "onwaiting");
3990}
3991
3992static inline JSValue jsDocumentOntransitionendGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
3993{
3994 UNUSED_PARAM(throwScope);
3995 UNUSED_PARAM(state);
3996 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionendEvent, worldForDOMObject(thisObject));
3997}
3998
3999EncodedJSValue jsDocumentOntransitionend(ExecState* state, EncodedJSValue thisValue, PropertyName)
4000{
4001 return IDLAttribute<JSDocument>::get<jsDocumentOntransitionendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitionend");
4002}
4003
4004static inline bool setJSDocumentOntransitionendSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4005{
4006 UNUSED_PARAM(throwScope);
4007 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitionendEvent, value);
4008 return true;
4009}
4010
4011bool setJSDocumentOntransitionend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4012{
4013 return IDLAttribute<JSDocument>::set<setJSDocumentOntransitionendSetter>(*state, thisValue, encodedValue, "ontransitionend");
4014}
4015
4016static inline JSValue jsDocumentOntransitionrunGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4017{
4018 UNUSED_PARAM(throwScope);
4019 UNUSED_PARAM(state);
4020 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionrunEvent, worldForDOMObject(thisObject));
4021}
4022
4023EncodedJSValue jsDocumentOntransitionrun(ExecState* state, EncodedJSValue thisValue, PropertyName)
4024{
4025 return IDLAttribute<JSDocument>::get<jsDocumentOntransitionrunGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitionrun");
4026}
4027
4028static inline bool setJSDocumentOntransitionrunSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4029{
4030 UNUSED_PARAM(throwScope);
4031 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitionrunEvent, value);
4032 return true;
4033}
4034
4035bool setJSDocumentOntransitionrun(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4036{
4037 return IDLAttribute<JSDocument>::set<setJSDocumentOntransitionrunSetter>(*state, thisValue, encodedValue, "ontransitionrun");
4038}
4039
4040static inline JSValue jsDocumentOntransitionstartGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4041{
4042 UNUSED_PARAM(throwScope);
4043 UNUSED_PARAM(state);
4044 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitionstartEvent, worldForDOMObject(thisObject));
4045}
4046
4047EncodedJSValue jsDocumentOntransitionstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
4048{
4049 return IDLAttribute<JSDocument>::get<jsDocumentOntransitionstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitionstart");
4050}
4051
4052static inline bool setJSDocumentOntransitionstartSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4053{
4054 UNUSED_PARAM(throwScope);
4055 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitionstartEvent, value);
4056 return true;
4057}
4058
4059bool setJSDocumentOntransitionstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4060{
4061 return IDLAttribute<JSDocument>::set<setJSDocumentOntransitionstartSetter>(*state, thisValue, encodedValue, "ontransitionstart");
4062}
4063
4064static inline JSValue jsDocumentOntransitioncancelGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4065{
4066 UNUSED_PARAM(throwScope);
4067 UNUSED_PARAM(state);
4068 return eventHandlerAttribute(thisObject.wrapped(), eventNames().transitioncancelEvent, worldForDOMObject(thisObject));
4069}
4070
4071EncodedJSValue jsDocumentOntransitioncancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
4072{
4073 return IDLAttribute<JSDocument>::get<jsDocumentOntransitioncancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontransitioncancel");
4074}
4075
4076static inline bool setJSDocumentOntransitioncancelSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4077{
4078 UNUSED_PARAM(throwScope);
4079 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().transitioncancelEvent, value);
4080 return true;
4081}
4082
4083bool setJSDocumentOntransitioncancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4084{
4085 return IDLAttribute<JSDocument>::set<setJSDocumentOntransitioncancelSetter>(*state, thisValue, encodedValue, "ontransitioncancel");
4086}
4087
4088static inline JSValue jsDocumentOnanimationendGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4089{
4090 UNUSED_PARAM(throwScope);
4091 UNUSED_PARAM(state);
4092 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationendEvent, worldForDOMObject(thisObject));
4093}
4094
4095EncodedJSValue jsDocumentOnanimationend(ExecState* state, EncodedJSValue thisValue, PropertyName)
4096{
4097 return IDLAttribute<JSDocument>::get<jsDocumentOnanimationendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationend");
4098}
4099
4100static inline bool setJSDocumentOnanimationendSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4101{
4102 UNUSED_PARAM(throwScope);
4103 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationendEvent, value);
4104 return true;
4105}
4106
4107bool setJSDocumentOnanimationend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4108{
4109 return IDLAttribute<JSDocument>::set<setJSDocumentOnanimationendSetter>(*state, thisValue, encodedValue, "onanimationend");
4110}
4111
4112static inline JSValue jsDocumentOnanimationiterationGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4113{
4114 UNUSED_PARAM(throwScope);
4115 UNUSED_PARAM(state);
4116 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationiterationEvent, worldForDOMObject(thisObject));
4117}
4118
4119EncodedJSValue jsDocumentOnanimationiteration(ExecState* state, EncodedJSValue thisValue, PropertyName)
4120{
4121 return IDLAttribute<JSDocument>::get<jsDocumentOnanimationiterationGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationiteration");
4122}
4123
4124static inline bool setJSDocumentOnanimationiterationSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4125{
4126 UNUSED_PARAM(throwScope);
4127 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationiterationEvent, value);
4128 return true;
4129}
4130
4131bool setJSDocumentOnanimationiteration(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4132{
4133 return IDLAttribute<JSDocument>::set<setJSDocumentOnanimationiterationSetter>(*state, thisValue, encodedValue, "onanimationiteration");
4134}
4135
4136static inline JSValue jsDocumentOnanimationstartGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4137{
4138 UNUSED_PARAM(throwScope);
4139 UNUSED_PARAM(state);
4140 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationstartEvent, worldForDOMObject(thisObject));
4141}
4142
4143EncodedJSValue jsDocumentOnanimationstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
4144{
4145 return IDLAttribute<JSDocument>::get<jsDocumentOnanimationstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationstart");
4146}
4147
4148static inline bool setJSDocumentOnanimationstartSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4149{
4150 UNUSED_PARAM(throwScope);
4151 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationstartEvent, value);
4152 return true;
4153}
4154
4155bool setJSDocumentOnanimationstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4156{
4157 return IDLAttribute<JSDocument>::set<setJSDocumentOnanimationstartSetter>(*state, thisValue, encodedValue, "onanimationstart");
4158}
4159
4160static inline JSValue jsDocumentOnanimationcancelGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4161{
4162 UNUSED_PARAM(throwScope);
4163 UNUSED_PARAM(state);
4164 return eventHandlerAttribute(thisObject.wrapped(), eventNames().animationcancelEvent, worldForDOMObject(thisObject));
4165}
4166
4167EncodedJSValue jsDocumentOnanimationcancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
4168{
4169 return IDLAttribute<JSDocument>::get<jsDocumentOnanimationcancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onanimationcancel");
4170}
4171
4172static inline bool setJSDocumentOnanimationcancelSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4173{
4174 UNUSED_PARAM(throwScope);
4175 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().animationcancelEvent, value);
4176 return true;
4177}
4178
4179bool setJSDocumentOnanimationcancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4180{
4181 return IDLAttribute<JSDocument>::set<setJSDocumentOnanimationcancelSetter>(*state, thisValue, encodedValue, "onanimationcancel");
4182}
4183
4184static inline JSValue jsDocumentOngotpointercaptureGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4185{
4186 UNUSED_PARAM(throwScope);
4187 UNUSED_PARAM(state);
4188 return eventHandlerAttribute(thisObject.wrapped(), eventNames().gotpointercaptureEvent, worldForDOMObject(thisObject));
4189}
4190
4191EncodedJSValue jsDocumentOngotpointercapture(ExecState* state, EncodedJSValue thisValue, PropertyName)
4192{
4193 return IDLAttribute<JSDocument>::get<jsDocumentOngotpointercaptureGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ongotpointercapture");
4194}
4195
4196static inline bool setJSDocumentOngotpointercaptureSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4197{
4198 UNUSED_PARAM(throwScope);
4199 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().gotpointercaptureEvent, value);
4200 return true;
4201}
4202
4203bool setJSDocumentOngotpointercapture(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4204{
4205 return IDLAttribute<JSDocument>::set<setJSDocumentOngotpointercaptureSetter>(*state, thisValue, encodedValue, "ongotpointercapture");
4206}
4207
4208static inline JSValue jsDocumentOnlostpointercaptureGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4209{
4210 UNUSED_PARAM(throwScope);
4211 UNUSED_PARAM(state);
4212 return eventHandlerAttribute(thisObject.wrapped(), eventNames().lostpointercaptureEvent, worldForDOMObject(thisObject));
4213}
4214
4215EncodedJSValue jsDocumentOnlostpointercapture(ExecState* state, EncodedJSValue thisValue, PropertyName)
4216{
4217 return IDLAttribute<JSDocument>::get<jsDocumentOnlostpointercaptureGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onlostpointercapture");
4218}
4219
4220static inline bool setJSDocumentOnlostpointercaptureSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4221{
4222 UNUSED_PARAM(throwScope);
4223 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().lostpointercaptureEvent, value);
4224 return true;
4225}
4226
4227bool setJSDocumentOnlostpointercapture(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4228{
4229 return IDLAttribute<JSDocument>::set<setJSDocumentOnlostpointercaptureSetter>(*state, thisValue, encodedValue, "onlostpointercapture");
4230}
4231
4232static inline JSValue jsDocumentOnpointerdownGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4233{
4234 UNUSED_PARAM(throwScope);
4235 UNUSED_PARAM(state);
4236 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerdownEvent, worldForDOMObject(thisObject));
4237}
4238
4239EncodedJSValue jsDocumentOnpointerdown(ExecState* state, EncodedJSValue thisValue, PropertyName)
4240{
4241 return IDLAttribute<JSDocument>::get<jsDocumentOnpointerdownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerdown");
4242}
4243
4244static inline bool setJSDocumentOnpointerdownSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4245{
4246 UNUSED_PARAM(throwScope);
4247 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerdownEvent, value);
4248 return true;
4249}
4250
4251bool setJSDocumentOnpointerdown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4252{
4253 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointerdownSetter>(*state, thisValue, encodedValue, "onpointerdown");
4254}
4255
4256static inline JSValue jsDocumentOnpointermoveGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4257{
4258 UNUSED_PARAM(throwScope);
4259 UNUSED_PARAM(state);
4260 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointermoveEvent, worldForDOMObject(thisObject));
4261}
4262
4263EncodedJSValue jsDocumentOnpointermove(ExecState* state, EncodedJSValue thisValue, PropertyName)
4264{
4265 return IDLAttribute<JSDocument>::get<jsDocumentOnpointermoveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointermove");
4266}
4267
4268static inline bool setJSDocumentOnpointermoveSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4269{
4270 UNUSED_PARAM(throwScope);
4271 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointermoveEvent, value);
4272 return true;
4273}
4274
4275bool setJSDocumentOnpointermove(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4276{
4277 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointermoveSetter>(*state, thisValue, encodedValue, "onpointermove");
4278}
4279
4280static inline JSValue jsDocumentOnpointerupGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4281{
4282 UNUSED_PARAM(throwScope);
4283 UNUSED_PARAM(state);
4284 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerupEvent, worldForDOMObject(thisObject));
4285}
4286
4287EncodedJSValue jsDocumentOnpointerup(ExecState* state, EncodedJSValue thisValue, PropertyName)
4288{
4289 return IDLAttribute<JSDocument>::get<jsDocumentOnpointerupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerup");
4290}
4291
4292static inline bool setJSDocumentOnpointerupSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4293{
4294 UNUSED_PARAM(throwScope);
4295 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerupEvent, value);
4296 return true;
4297}
4298
4299bool setJSDocumentOnpointerup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4300{
4301 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointerupSetter>(*state, thisValue, encodedValue, "onpointerup");
4302}
4303
4304static inline JSValue jsDocumentOnpointercancelGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4305{
4306 UNUSED_PARAM(throwScope);
4307 UNUSED_PARAM(state);
4308 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointercancelEvent, worldForDOMObject(thisObject));
4309}
4310
4311EncodedJSValue jsDocumentOnpointercancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
4312{
4313 return IDLAttribute<JSDocument>::get<jsDocumentOnpointercancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointercancel");
4314}
4315
4316static inline bool setJSDocumentOnpointercancelSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4317{
4318 UNUSED_PARAM(throwScope);
4319 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointercancelEvent, value);
4320 return true;
4321}
4322
4323bool setJSDocumentOnpointercancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4324{
4325 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointercancelSetter>(*state, thisValue, encodedValue, "onpointercancel");
4326}
4327
4328static inline JSValue jsDocumentOnpointeroverGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4329{
4330 UNUSED_PARAM(throwScope);
4331 UNUSED_PARAM(state);
4332 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointeroverEvent, worldForDOMObject(thisObject));
4333}
4334
4335EncodedJSValue jsDocumentOnpointerover(ExecState* state, EncodedJSValue thisValue, PropertyName)
4336{
4337 return IDLAttribute<JSDocument>::get<jsDocumentOnpointeroverGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerover");
4338}
4339
4340static inline bool setJSDocumentOnpointeroverSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4341{
4342 UNUSED_PARAM(throwScope);
4343 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointeroverEvent, value);
4344 return true;
4345}
4346
4347bool setJSDocumentOnpointerover(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4348{
4349 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointeroverSetter>(*state, thisValue, encodedValue, "onpointerover");
4350}
4351
4352static inline JSValue jsDocumentOnpointeroutGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4353{
4354 UNUSED_PARAM(throwScope);
4355 UNUSED_PARAM(state);
4356 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointeroutEvent, worldForDOMObject(thisObject));
4357}
4358
4359EncodedJSValue jsDocumentOnpointerout(ExecState* state, EncodedJSValue thisValue, PropertyName)
4360{
4361 return IDLAttribute<JSDocument>::get<jsDocumentOnpointeroutGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerout");
4362}
4363
4364static inline bool setJSDocumentOnpointeroutSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4365{
4366 UNUSED_PARAM(throwScope);
4367 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointeroutEvent, value);
4368 return true;
4369}
4370
4371bool setJSDocumentOnpointerout(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4372{
4373 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointeroutSetter>(*state, thisValue, encodedValue, "onpointerout");
4374}
4375
4376static inline JSValue jsDocumentOnpointerenterGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4377{
4378 UNUSED_PARAM(throwScope);
4379 UNUSED_PARAM(state);
4380 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerenterEvent, worldForDOMObject(thisObject));
4381}
4382
4383EncodedJSValue jsDocumentOnpointerenter(ExecState* state, EncodedJSValue thisValue, PropertyName)
4384{
4385 return IDLAttribute<JSDocument>::get<jsDocumentOnpointerenterGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerenter");
4386}
4387
4388static inline bool setJSDocumentOnpointerenterSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4389{
4390 UNUSED_PARAM(throwScope);
4391 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerenterEvent, value);
4392 return true;
4393}
4394
4395bool setJSDocumentOnpointerenter(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4396{
4397 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointerenterSetter>(*state, thisValue, encodedValue, "onpointerenter");
4398}
4399
4400static inline JSValue jsDocumentOnpointerleaveGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4401{
4402 UNUSED_PARAM(throwScope);
4403 UNUSED_PARAM(state);
4404 return eventHandlerAttribute(thisObject.wrapped(), eventNames().pointerleaveEvent, worldForDOMObject(thisObject));
4405}
4406
4407EncodedJSValue jsDocumentOnpointerleave(ExecState* state, EncodedJSValue thisValue, PropertyName)
4408{
4409 return IDLAttribute<JSDocument>::get<jsDocumentOnpointerleaveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onpointerleave");
4410}
4411
4412static inline bool setJSDocumentOnpointerleaveSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4413{
4414 UNUSED_PARAM(throwScope);
4415 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().pointerleaveEvent, value);
4416 return true;
4417}
4418
4419bool setJSDocumentOnpointerleave(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4420{
4421 return IDLAttribute<JSDocument>::set<setJSDocumentOnpointerleaveSetter>(*state, thisValue, encodedValue, "onpointerleave");
4422}
4423
4424static inline JSValue jsDocumentOnsearchGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4425{
4426 UNUSED_PARAM(throwScope);
4427 UNUSED_PARAM(state);
4428 return eventHandlerAttribute(thisObject.wrapped(), eventNames().searchEvent, worldForDOMObject(thisObject));
4429}
4430
4431EncodedJSValue jsDocumentOnsearch(ExecState* state, EncodedJSValue thisValue, PropertyName)
4432{
4433 return IDLAttribute<JSDocument>::get<jsDocumentOnsearchGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onsearch");
4434}
4435
4436static inline bool setJSDocumentOnsearchSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4437{
4438 UNUSED_PARAM(throwScope);
4439 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().searchEvent, value);
4440 return true;
4441}
4442
4443bool setJSDocumentOnsearch(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4444{
4445 return IDLAttribute<JSDocument>::set<setJSDocumentOnsearchSetter>(*state, thisValue, encodedValue, "onsearch");
4446}
4447
4448static inline JSValue jsDocumentOnwheelGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4449{
4450 UNUSED_PARAM(throwScope);
4451 UNUSED_PARAM(state);
4452 return eventHandlerAttribute(thisObject.wrapped(), eventNames().wheelEvent, worldForDOMObject(thisObject));
4453}
4454
4455EncodedJSValue jsDocumentOnwheel(ExecState* state, EncodedJSValue thisValue, PropertyName)
4456{
4457 return IDLAttribute<JSDocument>::get<jsDocumentOnwheelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwheel");
4458}
4459
4460static inline bool setJSDocumentOnwheelSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4461{
4462 UNUSED_PARAM(throwScope);
4463 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().wheelEvent, value);
4464 return true;
4465}
4466
4467bool setJSDocumentOnwheel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4468{
4469 return IDLAttribute<JSDocument>::set<setJSDocumentOnwheelSetter>(*state, thisValue, encodedValue, "onwheel");
4470}
4471
4472#if ENABLE(TOUCH_EVENTS)
4473static inline JSValue jsDocumentOntouchcancelGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4474{
4475 UNUSED_PARAM(throwScope);
4476 UNUSED_PARAM(state);
4477 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchcancelEvent, worldForDOMObject(thisObject));
4478}
4479
4480EncodedJSValue jsDocumentOntouchcancel(ExecState* state, EncodedJSValue thisValue, PropertyName)
4481{
4482 return IDLAttribute<JSDocument>::get<jsDocumentOntouchcancelGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchcancel");
4483}
4484
4485#endif
4486
4487#if ENABLE(TOUCH_EVENTS)
4488static inline bool setJSDocumentOntouchcancelSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4489{
4490 UNUSED_PARAM(throwScope);
4491 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchcancelEvent, value);
4492 return true;
4493}
4494
4495bool setJSDocumentOntouchcancel(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4496{
4497 return IDLAttribute<JSDocument>::set<setJSDocumentOntouchcancelSetter>(*state, thisValue, encodedValue, "ontouchcancel");
4498}
4499
4500#endif
4501
4502#if ENABLE(TOUCH_EVENTS)
4503static inline JSValue jsDocumentOntouchendGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4504{
4505 UNUSED_PARAM(throwScope);
4506 UNUSED_PARAM(state);
4507 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchendEvent, worldForDOMObject(thisObject));
4508}
4509
4510EncodedJSValue jsDocumentOntouchend(ExecState* state, EncodedJSValue thisValue, PropertyName)
4511{
4512 return IDLAttribute<JSDocument>::get<jsDocumentOntouchendGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchend");
4513}
4514
4515#endif
4516
4517#if ENABLE(TOUCH_EVENTS)
4518static inline bool setJSDocumentOntouchendSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4519{
4520 UNUSED_PARAM(throwScope);
4521 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchendEvent, value);
4522 return true;
4523}
4524
4525bool setJSDocumentOntouchend(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4526{
4527 return IDLAttribute<JSDocument>::set<setJSDocumentOntouchendSetter>(*state, thisValue, encodedValue, "ontouchend");
4528}
4529
4530#endif
4531
4532#if ENABLE(TOUCH_EVENTS)
4533static inline JSValue jsDocumentOntouchmoveGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4534{
4535 UNUSED_PARAM(throwScope);
4536 UNUSED_PARAM(state);
4537 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchmoveEvent, worldForDOMObject(thisObject));
4538}
4539
4540EncodedJSValue jsDocumentOntouchmove(ExecState* state, EncodedJSValue thisValue, PropertyName)
4541{
4542 return IDLAttribute<JSDocument>::get<jsDocumentOntouchmoveGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchmove");
4543}
4544
4545#endif
4546
4547#if ENABLE(TOUCH_EVENTS)
4548static inline bool setJSDocumentOntouchmoveSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4549{
4550 UNUSED_PARAM(throwScope);
4551 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchmoveEvent, value);
4552 return true;
4553}
4554
4555bool setJSDocumentOntouchmove(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4556{
4557 return IDLAttribute<JSDocument>::set<setJSDocumentOntouchmoveSetter>(*state, thisValue, encodedValue, "ontouchmove");
4558}
4559
4560#endif
4561
4562#if ENABLE(TOUCH_EVENTS)
4563static inline JSValue jsDocumentOntouchstartGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4564{
4565 UNUSED_PARAM(throwScope);
4566 UNUSED_PARAM(state);
4567 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchstartEvent, worldForDOMObject(thisObject));
4568}
4569
4570EncodedJSValue jsDocumentOntouchstart(ExecState* state, EncodedJSValue thisValue, PropertyName)
4571{
4572 return IDLAttribute<JSDocument>::get<jsDocumentOntouchstartGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchstart");
4573}
4574
4575#endif
4576
4577#if ENABLE(TOUCH_EVENTS)
4578static inline bool setJSDocumentOntouchstartSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4579{
4580 UNUSED_PARAM(throwScope);
4581 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchstartEvent, value);
4582 return true;
4583}
4584
4585bool setJSDocumentOntouchstart(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4586{
4587 return IDLAttribute<JSDocument>::set<setJSDocumentOntouchstartSetter>(*state, thisValue, encodedValue, "ontouchstart");
4588}
4589
4590#endif
4591
4592#if ENABLE(TOUCH_EVENTS)
4593static inline JSValue jsDocumentOntouchforcechangeGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4594{
4595 UNUSED_PARAM(throwScope);
4596 UNUSED_PARAM(state);
4597 return eventHandlerAttribute(thisObject.wrapped(), eventNames().touchforcechangeEvent, worldForDOMObject(thisObject));
4598}
4599
4600EncodedJSValue jsDocumentOntouchforcechange(ExecState* state, EncodedJSValue thisValue, PropertyName)
4601{
4602 return IDLAttribute<JSDocument>::get<jsDocumentOntouchforcechangeGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "ontouchforcechange");
4603}
4604
4605#endif
4606
4607#if ENABLE(TOUCH_EVENTS)
4608static inline bool setJSDocumentOntouchforcechangeSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4609{
4610 UNUSED_PARAM(throwScope);
4611 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().touchforcechangeEvent, value);
4612 return true;
4613}
4614
4615bool setJSDocumentOntouchforcechange(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4616{
4617 return IDLAttribute<JSDocument>::set<setJSDocumentOntouchforcechangeSetter>(*state, thisValue, encodedValue, "ontouchforcechange");
4618}
4619
4620#endif
4621
4622#if ENABLE(MOUSE_FORCE_EVENTS)
4623static inline JSValue jsDocumentOnwebkitmouseforcechangedGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4624{
4625 UNUSED_PARAM(throwScope);
4626 UNUSED_PARAM(state);
4627 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcechangedEvent, worldForDOMObject(thisObject));
4628}
4629
4630EncodedJSValue jsDocumentOnwebkitmouseforcechanged(ExecState* state, EncodedJSValue thisValue, PropertyName)
4631{
4632 return IDLAttribute<JSDocument>::get<jsDocumentOnwebkitmouseforcechangedGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforcechanged");
4633}
4634
4635#endif
4636
4637#if ENABLE(MOUSE_FORCE_EVENTS)
4638static inline bool setJSDocumentOnwebkitmouseforcechangedSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4639{
4640 UNUSED_PARAM(throwScope);
4641 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcechangedEvent, value);
4642 return true;
4643}
4644
4645bool setJSDocumentOnwebkitmouseforcechanged(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4646{
4647 return IDLAttribute<JSDocument>::set<setJSDocumentOnwebkitmouseforcechangedSetter>(*state, thisValue, encodedValue, "onwebkitmouseforcechanged");
4648}
4649
4650#endif
4651
4652#if ENABLE(MOUSE_FORCE_EVENTS)
4653static inline JSValue jsDocumentOnwebkitmouseforcedownGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4654{
4655 UNUSED_PARAM(throwScope);
4656 UNUSED_PARAM(state);
4657 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcedownEvent, worldForDOMObject(thisObject));
4658}
4659
4660EncodedJSValue jsDocumentOnwebkitmouseforcedown(ExecState* state, EncodedJSValue thisValue, PropertyName)
4661{
4662 return IDLAttribute<JSDocument>::get<jsDocumentOnwebkitmouseforcedownGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforcedown");
4663}
4664
4665#endif
4666
4667#if ENABLE(MOUSE_FORCE_EVENTS)
4668static inline bool setJSDocumentOnwebkitmouseforcedownSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4669{
4670 UNUSED_PARAM(throwScope);
4671 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcedownEvent, value);
4672 return true;
4673}
4674
4675bool setJSDocumentOnwebkitmouseforcedown(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4676{
4677 return IDLAttribute<JSDocument>::set<setJSDocumentOnwebkitmouseforcedownSetter>(*state, thisValue, encodedValue, "onwebkitmouseforcedown");
4678}
4679
4680#endif
4681
4682#if ENABLE(MOUSE_FORCE_EVENTS)
4683static inline JSValue jsDocumentOnwebkitmouseforcewillbeginGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4684{
4685 UNUSED_PARAM(throwScope);
4686 UNUSED_PARAM(state);
4687 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforcewillbeginEvent, worldForDOMObject(thisObject));
4688}
4689
4690EncodedJSValue jsDocumentOnwebkitmouseforcewillbegin(ExecState* state, EncodedJSValue thisValue, PropertyName)
4691{
4692 return IDLAttribute<JSDocument>::get<jsDocumentOnwebkitmouseforcewillbeginGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforcewillbegin");
4693}
4694
4695#endif
4696
4697#if ENABLE(MOUSE_FORCE_EVENTS)
4698static inline bool setJSDocumentOnwebkitmouseforcewillbeginSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4699{
4700 UNUSED_PARAM(throwScope);
4701 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforcewillbeginEvent, value);
4702 return true;
4703}
4704
4705bool setJSDocumentOnwebkitmouseforcewillbegin(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4706{
4707 return IDLAttribute<JSDocument>::set<setJSDocumentOnwebkitmouseforcewillbeginSetter>(*state, thisValue, encodedValue, "onwebkitmouseforcewillbegin");
4708}
4709
4710#endif
4711
4712#if ENABLE(MOUSE_FORCE_EVENTS)
4713static inline JSValue jsDocumentOnwebkitmouseforceupGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4714{
4715 UNUSED_PARAM(throwScope);
4716 UNUSED_PARAM(state);
4717 return eventHandlerAttribute(thisObject.wrapped(), eventNames().webkitmouseforceupEvent, worldForDOMObject(thisObject));
4718}
4719
4720EncodedJSValue jsDocumentOnwebkitmouseforceup(ExecState* state, EncodedJSValue thisValue, PropertyName)
4721{
4722 return IDLAttribute<JSDocument>::get<jsDocumentOnwebkitmouseforceupGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "onwebkitmouseforceup");
4723}
4724
4725#endif
4726
4727#if ENABLE(MOUSE_FORCE_EVENTS)
4728static inline bool setJSDocumentOnwebkitmouseforceupSetter(ExecState& state, JSDocument& thisObject, JSValue value, ThrowScope& throwScope)
4729{
4730 UNUSED_PARAM(throwScope);
4731 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().webkitmouseforceupEvent, value);
4732 return true;
4733}
4734
4735bool setJSDocumentOnwebkitmouseforceup(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4736{
4737 return IDLAttribute<JSDocument>::set<setJSDocumentOnwebkitmouseforceupSetter>(*state, thisValue, encodedValue, "onwebkitmouseforceup");
4738}
4739
4740#endif
4741
4742static inline JSValue jsDocumentChildrenGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4743{
4744 UNUSED_PARAM(throwScope);
4745 UNUSED_PARAM(state);
4746 auto& impl = thisObject.wrapped();
4747 JSValue result = toJS<IDLInterface<HTMLCollection>>(state, *thisObject.globalObject(), throwScope, impl.children());
4748 return result;
4749}
4750
4751EncodedJSValue jsDocumentChildren(ExecState* state, EncodedJSValue thisValue, PropertyName)
4752{
4753 return IDLAttribute<JSDocument>::get<jsDocumentChildrenGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "children");
4754}
4755
4756static inline JSValue jsDocumentFirstElementChildGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4757{
4758 UNUSED_PARAM(throwScope);
4759 UNUSED_PARAM(state);
4760 auto& impl = thisObject.wrapped();
4761 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, impl.firstElementChild());
4762 return result;
4763}
4764
4765EncodedJSValue jsDocumentFirstElementChild(ExecState* state, EncodedJSValue thisValue, PropertyName)
4766{
4767 return IDLAttribute<JSDocument>::get<jsDocumentFirstElementChildGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "firstElementChild");
4768}
4769
4770static inline JSValue jsDocumentLastElementChildGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4771{
4772 UNUSED_PARAM(throwScope);
4773 UNUSED_PARAM(state);
4774 auto& impl = thisObject.wrapped();
4775 JSValue result = toJS<IDLNullable<IDLInterface<Element>>>(state, *thisObject.globalObject(), throwScope, impl.lastElementChild());
4776 return result;
4777}
4778
4779EncodedJSValue jsDocumentLastElementChild(ExecState* state, EncodedJSValue thisValue, PropertyName)
4780{
4781 return IDLAttribute<JSDocument>::get<jsDocumentLastElementChildGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "lastElementChild");
4782}
4783
4784static inline JSValue jsDocumentChildElementCountGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4785{
4786 UNUSED_PARAM(throwScope);
4787 UNUSED_PARAM(state);
4788 auto& impl = thisObject.wrapped();
4789 JSValue result = toJS<IDLUnsignedLong>(state, throwScope, impl.childElementCount());
4790 return result;
4791}
4792
4793EncodedJSValue jsDocumentChildElementCount(ExecState* state, EncodedJSValue thisValue, PropertyName)
4794{
4795 return IDLAttribute<JSDocument>::get<jsDocumentChildElementCountGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "childElementCount");
4796}
4797
4798static inline JSValue jsDocumentRootElementGetter(ExecState& state, JSDocument& thisObject, ThrowScope& throwScope)
4799{
4800 UNUSED_PARAM(throwScope);
4801 UNUSED_PARAM(state);
4802 auto& impl = thisObject.wrapped();
4803 JSValue result = toJS<IDLNullable<IDLInterface<SVGSVGElement>>>(state, *thisObject.globalObject(), throwScope, WebCore::SVGDocument::rootElement(impl));
4804 return result;
4805}
4806
4807EncodedJSValue jsDocumentRootElement(ExecState* state, EncodedJSValue thisValue, PropertyName)
4808{
4809 return IDLAttribute<JSDocument>::get<jsDocumentRootElementGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "rootElement");
4810}
4811
4812static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetElementsByTagNameBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4813{
4814 UNUSED_PARAM(state);
4815 UNUSED_PARAM(throwScope);
4816 auto& impl = castedThis->wrapped();
4817 if (UNLIKELY(state->argumentCount() < 1))
4818 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4819 auto qualifiedName = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4820 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4821 return JSValue::encode(toJS<IDLInterface<HTMLCollection>>(*state, *castedThis->globalObject(), impl.getElementsByTagName(WTFMove(qualifiedName))));
4822}
4823
4824EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagName(ExecState* state)
4825{
4826 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetElementsByTagNameBody>(*state, "getElementsByTagName");
4827}
4828
4829static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetElementsByTagNameNSBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4830{
4831 UNUSED_PARAM(state);
4832 UNUSED_PARAM(throwScope);
4833 auto& impl = castedThis->wrapped();
4834 if (UNLIKELY(state->argumentCount() < 2))
4835 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4836 auto namespaceURI = convert<IDLNullable<IDLDOMString>>(*state, state->uncheckedArgument(0));
4837 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4838 auto localName = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
4839 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4840 return JSValue::encode(toJS<IDLInterface<HTMLCollection>>(*state, *castedThis->globalObject(), impl.getElementsByTagNameNS(WTFMove(namespaceURI), WTFMove(localName))));
4841}
4842
4843EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagNameNS(ExecState* state)
4844{
4845 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetElementsByTagNameNSBody>(*state, "getElementsByTagNameNS");
4846}
4847
4848static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetElementsByClassNameBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4849{
4850 UNUSED_PARAM(state);
4851 UNUSED_PARAM(throwScope);
4852 auto& impl = castedThis->wrapped();
4853 if (UNLIKELY(state->argumentCount() < 1))
4854 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4855 auto classNames = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4856 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4857 return JSValue::encode(toJS<IDLInterface<HTMLCollection>>(*state, *castedThis->globalObject(), impl.getElementsByClassName(WTFMove(classNames))));
4858}
4859
4860EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByClassName(ExecState* state)
4861{
4862 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetElementsByClassNameBody>(*state, "getElementsByClassName");
4863}
4864
4865static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateElementBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4866{
4867 UNUSED_PARAM(state);
4868 UNUSED_PARAM(throwScope);
4869 auto& impl = castedThis->wrapped();
4870 if (UNLIKELY(state->argumentCount() < 1))
4871 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4872 auto localName = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4873 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4874 return JSValue::encode(toJSNewlyCreated<IDLInterface<Element>>(*state, *castedThis->globalObject(), throwScope, impl.createElementForBindings(WTFMove(localName))));
4875}
4876
4877EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElement(ExecState* state)
4878{
4879 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateElementBody>(*state, "createElement");
4880}
4881
4882static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateElementNSBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4883{
4884 UNUSED_PARAM(state);
4885 UNUSED_PARAM(throwScope);
4886 auto& impl = castedThis->wrapped();
4887 if (UNLIKELY(state->argumentCount() < 2))
4888 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4889 auto namespaceURI = convert<IDLNullable<IDLDOMString>>(*state, state->uncheckedArgument(0));
4890 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4891 auto qualifiedName = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
4892 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4893 return JSValue::encode(toJSNewlyCreated<IDLInterface<Element>>(*state, *castedThis->globalObject(), throwScope, impl.createElementNS(WTFMove(namespaceURI), WTFMove(qualifiedName))));
4894}
4895
4896EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElementNS(ExecState* state)
4897{
4898 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateElementNSBody>(*state, "createElementNS");
4899}
4900
4901static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateDocumentFragmentBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4902{
4903 UNUSED_PARAM(state);
4904 UNUSED_PARAM(throwScope);
4905 auto& impl = castedThis->wrapped();
4906 return JSValue::encode(toJSNewlyCreated<IDLInterface<DocumentFragment>>(*state, *castedThis->globalObject(), impl.createDocumentFragment()));
4907}
4908
4909EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateDocumentFragment(ExecState* state)
4910{
4911 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateDocumentFragmentBody>(*state, "createDocumentFragment");
4912}
4913
4914static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateTextNodeBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4915{
4916 UNUSED_PARAM(state);
4917 UNUSED_PARAM(throwScope);
4918 auto& impl = castedThis->wrapped();
4919 if (UNLIKELY(state->argumentCount() < 1))
4920 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4921 auto data = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4922 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4923 return JSValue::encode(toJSNewlyCreated<IDLInterface<Text>>(*state, *castedThis->globalObject(), impl.createTextNode(WTFMove(data))));
4924}
4925
4926EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTextNode(ExecState* state)
4927{
4928 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateTextNodeBody>(*state, "createTextNode");
4929}
4930
4931static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateCDATASectionBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4932{
4933 UNUSED_PARAM(state);
4934 UNUSED_PARAM(throwScope);
4935 auto& impl = castedThis->wrapped();
4936 if (UNLIKELY(state->argumentCount() < 1))
4937 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4938 auto data = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4939 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4940 return JSValue::encode(toJSNewlyCreated<IDLInterface<CDATASection>>(*state, *castedThis->globalObject(), throwScope, impl.createCDATASection(WTFMove(data))));
4941}
4942
4943EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateCDATASection(ExecState* state)
4944{
4945 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateCDATASectionBody>(*state, "createCDATASection");
4946}
4947
4948static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateCommentBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4949{
4950 UNUSED_PARAM(state);
4951 UNUSED_PARAM(throwScope);
4952 auto& impl = castedThis->wrapped();
4953 if (UNLIKELY(state->argumentCount() < 1))
4954 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4955 auto data = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4956 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4957 return JSValue::encode(toJSNewlyCreated<IDLInterface<Comment>>(*state, *castedThis->globalObject(), impl.createComment(WTFMove(data))));
4958}
4959
4960EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateComment(ExecState* state)
4961{
4962 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateCommentBody>(*state, "createComment");
4963}
4964
4965static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateProcessingInstructionBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4966{
4967 UNUSED_PARAM(state);
4968 UNUSED_PARAM(throwScope);
4969 auto& impl = castedThis->wrapped();
4970 if (UNLIKELY(state->argumentCount() < 2))
4971 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4972 auto target = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
4973 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4974 auto data = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
4975 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4976 return JSValue::encode(toJSNewlyCreated<IDLInterface<ProcessingInstruction>>(*state, *castedThis->globalObject(), throwScope, impl.createProcessingInstruction(WTFMove(target), WTFMove(data))));
4977}
4978
4979EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateProcessingInstruction(ExecState* state)
4980{
4981 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateProcessingInstructionBody>(*state, "createProcessingInstruction");
4982}
4983
4984static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionImportNodeBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4985{
4986 UNUSED_PARAM(state);
4987 UNUSED_PARAM(throwScope);
4988 CustomElementReactionStack customElementReactionStack(*state);
4989 auto& impl = castedThis->wrapped();
4990 if (UNLIKELY(state->argumentCount() < 1))
4991 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4992 auto node = convert<IDLInterface<Node>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "node", "Document", "importNode", "Node"); });
4993 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4994 auto deep = convert<IDLBoolean>(*state, state->argument(1));
4995 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4996 return JSValue::encode(toJSNewlyCreated<IDLInterface<Node>>(*state, *castedThis->globalObject(), throwScope, impl.importNode(*node, WTFMove(deep))));
4997}
4998
4999EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionImportNode(ExecState* state)
5000{
5001 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionImportNodeBody>(*state, "importNode");
5002}
5003
5004static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionAdoptNodeBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5005{
5006 UNUSED_PARAM(state);
5007 UNUSED_PARAM(throwScope);
5008 CustomElementReactionStack customElementReactionStack(*state);
5009 auto& impl = castedThis->wrapped();
5010 if (UNLIKELY(state->argumentCount() < 1))
5011 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5012 auto node = convert<IDLInterface<Node>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "node", "Document", "adoptNode", "Node"); });
5013 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5014 return JSValue::encode(toJS<IDLInterface<Node>>(*state, *castedThis->globalObject(), throwScope, impl.adoptNode(*node)));
5015}
5016
5017EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionAdoptNode(ExecState* state)
5018{
5019 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionAdoptNodeBody>(*state, "adoptNode");
5020}
5021
5022static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateAttributeBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5023{
5024 UNUSED_PARAM(state);
5025 UNUSED_PARAM(throwScope);
5026 auto& impl = castedThis->wrapped();
5027 if (UNLIKELY(state->argumentCount() < 1))
5028 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5029 auto localName = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5030 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5031 return JSValue::encode(toJSNewlyCreated<IDLInterface<Attr>>(*state, *castedThis->globalObject(), throwScope, impl.createAttribute(WTFMove(localName))));
5032}
5033
5034EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttribute(ExecState* state)
5035{
5036 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateAttributeBody>(*state, "createAttribute");
5037}
5038
5039static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateAttributeNSBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5040{
5041 UNUSED_PARAM(state);
5042 UNUSED_PARAM(throwScope);
5043 auto& impl = castedThis->wrapped();
5044 if (UNLIKELY(state->argumentCount() < 2))
5045 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5046 auto namespaceURI = convert<IDLNullable<IDLDOMString>>(*state, state->uncheckedArgument(0));
5047 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5048 auto qualifiedName = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
5049 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5050 return JSValue::encode(toJSNewlyCreated<IDLInterface<Attr>>(*state, *castedThis->globalObject(), throwScope, impl.createAttributeNS(WTFMove(namespaceURI), WTFMove(qualifiedName))));
5051}
5052
5053EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttributeNS(ExecState* state)
5054{
5055 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateAttributeNSBody>(*state, "createAttributeNS");
5056}
5057
5058static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateEventBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5059{
5060 UNUSED_PARAM(state);
5061 UNUSED_PARAM(throwScope);
5062 auto& impl = castedThis->wrapped();
5063 if (UNLIKELY(state->argumentCount() < 1))
5064 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5065 auto type = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5066 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5067 return JSValue::encode(toJSNewlyCreated<IDLInterface<Event>>(*state, *castedThis->globalObject(), throwScope, impl.createEvent(WTFMove(type))));
5068}
5069
5070EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateEvent(ExecState* state)
5071{
5072 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateEventBody>(*state, "createEvent");
5073}
5074
5075static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateRangeBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5076{
5077 UNUSED_PARAM(state);
5078 UNUSED_PARAM(throwScope);
5079 auto& impl = castedThis->wrapped();
5080 return JSValue::encode(toJSNewlyCreated<IDLInterface<Range>>(*state, *castedThis->globalObject(), impl.createRange()));
5081}
5082
5083EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateRange(ExecState* state)
5084{
5085 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateRangeBody>(*state, "createRange");
5086}
5087
5088static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateNodeIteratorBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5089{
5090 UNUSED_PARAM(state);
5091 UNUSED_PARAM(throwScope);
5092 auto& impl = castedThis->wrapped();
5093 if (UNLIKELY(state->argumentCount() < 1))
5094 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5095 auto root = convert<IDLInterface<Node>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "root", "Document", "createNodeIterator", "Node"); });
5096 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5097 auto whatToShow = state->argument(1).isUndefined() ? 0xFFFFFFFF : convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
5098 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5099 auto filter = convert<IDLNullable<IDLCallbackInterface<JSNodeFilter>>>(*state, state->argument(2), *castedThis->globalObject(), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentMustBeFunctionError(state, scope, 2, "filter", "Document", "createNodeIterator"); });
5100 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5101 return JSValue::encode(toJSNewlyCreated<IDLInterface<NodeIterator>>(*state, *castedThis->globalObject(), impl.createNodeIterator(*root, WTFMove(whatToShow), WTFMove(filter))));
5102}
5103
5104EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNodeIterator(ExecState* state)
5105{
5106 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateNodeIteratorBody>(*state, "createNodeIterator");
5107}
5108
5109static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateTreeWalkerBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5110{
5111 UNUSED_PARAM(state);
5112 UNUSED_PARAM(throwScope);
5113 auto& impl = castedThis->wrapped();
5114 if (UNLIKELY(state->argumentCount() < 1))
5115 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5116 auto root = convert<IDLInterface<Node>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "root", "Document", "createTreeWalker", "Node"); });
5117 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5118 auto whatToShow = state->argument(1).isUndefined() ? 0xFFFFFFFF : convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
5119 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5120 auto filter = convert<IDLNullable<IDLCallbackInterface<JSNodeFilter>>>(*state, state->argument(2), *castedThis->globalObject(), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentMustBeFunctionError(state, scope, 2, "filter", "Document", "createTreeWalker"); });
5121 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5122 return JSValue::encode(toJSNewlyCreated<IDLInterface<TreeWalker>>(*state, *castedThis->globalObject(), impl.createTreeWalker(*root, WTFMove(whatToShow), WTFMove(filter))));
5123}
5124
5125EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTreeWalker(ExecState* state)
5126{
5127 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateTreeWalkerBody>(*state, "createTreeWalker");
5128}
5129
5130static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetElementsByNameBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5131{
5132 UNUSED_PARAM(state);
5133 UNUSED_PARAM(throwScope);
5134 auto& impl = castedThis->wrapped();
5135 if (UNLIKELY(state->argumentCount() < 1))
5136 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5137 auto elementName = convert<IDLAtomStringAdaptor<IDLDOMString>>(*state, state->uncheckedArgument(0));
5138 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5139 return JSValue::encode(toJS<IDLInterface<NodeList>>(*state, *castedThis->globalObject(), impl.getElementsByName(WTFMove(elementName))));
5140}
5141
5142EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByName(ExecState* state)
5143{
5144 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetElementsByNameBody>(*state, "getElementsByName");
5145}
5146
5147static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionOpen1Body(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5148{
5149 UNUSED_PARAM(state);
5150 UNUSED_PARAM(throwScope);
5151 CustomElementReactionStack customElementReactionStack(*state);
5152 auto& impl = castedThis->wrapped();
5153 auto unused1 = state->argument(0).isUndefined() ? String() : convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5154 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5155 auto unused2 = state->argument(1).isUndefined() ? String() : convert<IDLDOMString>(*state, state->uncheckedArgument(1));
5156 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5157 return JSValue::encode(toJS<IDLInterface<Document>>(*state, *castedThis->globalObject(), throwScope, impl.openForBindings(responsibleDocument(*state), WTFMove(unused1), WTFMove(unused2))));
5158}
5159
5160static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionOpen2Body(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5161{
5162 UNUSED_PARAM(state);
5163 UNUSED_PARAM(throwScope);
5164 auto& impl = castedThis->wrapped();
5165 auto url = convert<IDLUSVString>(*state, state->uncheckedArgument(0));
5166 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5167 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
5168 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5169 auto features = convert<IDLDOMString>(*state, state->uncheckedArgument(2));
5170 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5171 return JSValue::encode(toJS<IDLInterface<WindowProxy>>(*state, *castedThis->globalObject(), throwScope, impl.openForBindings(activeDOMWindow(*state), firstDOMWindow(*state), WTFMove(url), WTFMove(name), WTFMove(features))));
5172}
5173
5174static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionOpenOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5175{
5176 UNUSED_PARAM(state);
5177 UNUSED_PARAM(throwScope);
5178 VM& vm = state->vm();
5179 UNUSED_PARAM(vm);
5180 size_t argsCount = std::min<size_t>(3, state->argumentCount());
5181 if (argsCount == 0) {
5182 return jsDocumentPrototypeFunctionOpen1Body(state, castedThis, throwScope);
5183 }
5184 if (argsCount == 1) {
5185 return jsDocumentPrototypeFunctionOpen1Body(state, castedThis, throwScope);
5186 }
5187 if (argsCount == 2) {
5188 return jsDocumentPrototypeFunctionOpen1Body(state, castedThis, throwScope);
5189 }
5190 if (argsCount == 3) {
5191 return jsDocumentPrototypeFunctionOpen2Body(state, castedThis, throwScope);
5192 }
5193 return throwVMTypeError(state, throwScope);
5194}
5195
5196EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionOpen(ExecState* state)
5197{
5198 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionOpenOverloadDispatcher>(*state, "open");
5199}
5200
5201static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCloseBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5202{
5203 UNUSED_PARAM(state);
5204 UNUSED_PARAM(throwScope);
5205 CustomElementReactionStack customElementReactionStack(*state);
5206 auto& impl = castedThis->wrapped();
5207 propagateException(*state, throwScope, impl.closeForBindings());
5208 return JSValue::encode(jsUndefined());
5209}
5210
5211EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionClose(ExecState* state)
5212{
5213 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCloseBody>(*state, "close");
5214}
5215
5216static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionWriteBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5217{
5218 UNUSED_PARAM(state);
5219 UNUSED_PARAM(throwScope);
5220 CustomElementReactionStack customElementReactionStack(*state);
5221 auto& impl = castedThis->wrapped();
5222 auto text = convertVariadicArguments<IDLDOMString>(*state, 0);
5223 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5224 propagateException(*state, throwScope, impl.write(responsibleDocument(*state), WTFMove(text)));
5225 return JSValue::encode(jsUndefined());
5226}
5227
5228EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWrite(ExecState* state)
5229{
5230 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionWriteBody>(*state, "write");
5231}
5232
5233static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionWritelnBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5234{
5235 UNUSED_PARAM(state);
5236 UNUSED_PARAM(throwScope);
5237 CustomElementReactionStack customElementReactionStack(*state);
5238 auto& impl = castedThis->wrapped();
5239 auto text = convertVariadicArguments<IDLDOMString>(*state, 0);
5240 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5241 propagateException(*state, throwScope, impl.writeln(responsibleDocument(*state), WTFMove(text)));
5242 return JSValue::encode(jsUndefined());
5243}
5244
5245EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWriteln(ExecState* state)
5246{
5247 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionWritelnBody>(*state, "writeln");
5248}
5249
5250static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionHasFocusBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5251{
5252 UNUSED_PARAM(state);
5253 UNUSED_PARAM(throwScope);
5254 auto& impl = castedThis->wrapped();
5255 return JSValue::encode(toJS<IDLBoolean>(impl.hasFocus()));
5256}
5257
5258EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionHasFocus(ExecState* state)
5259{
5260 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionHasFocusBody>(*state, "hasFocus");
5261}
5262
5263static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionExecCommandBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5264{
5265 UNUSED_PARAM(state);
5266 UNUSED_PARAM(throwScope);
5267 CustomElementReactionStack customElementReactionStack(*state);
5268 auto& impl = castedThis->wrapped();
5269 if (UNLIKELY(state->argumentCount() < 1))
5270 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5271 auto commandId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5272 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5273 auto showUI = convert<IDLBoolean>(*state, state->argument(1));
5274 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5275 auto value = state->argument(2).isUndefined() ? String() : convert<IDLNullable<IDLDOMString>>(*state, state->uncheckedArgument(2));
5276 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5277 return JSValue::encode(toJS<IDLBoolean>(impl.execCommand(WTFMove(commandId), WTFMove(showUI), WTFMove(value))));
5278}
5279
5280EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionExecCommand(ExecState* state)
5281{
5282 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionExecCommandBody>(*state, "execCommand");
5283}
5284
5285static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQueryCommandEnabledBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5286{
5287 UNUSED_PARAM(state);
5288 UNUSED_PARAM(throwScope);
5289 auto& impl = castedThis->wrapped();
5290 if (UNLIKELY(state->argumentCount() < 1))
5291 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5292 auto commandId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5293 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5294 return JSValue::encode(toJS<IDLBoolean>(impl.queryCommandEnabled(WTFMove(commandId))));
5295}
5296
5297EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandEnabled(ExecState* state)
5298{
5299 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQueryCommandEnabledBody>(*state, "queryCommandEnabled");
5300}
5301
5302static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQueryCommandIndetermBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5303{
5304 UNUSED_PARAM(state);
5305 UNUSED_PARAM(throwScope);
5306 auto& impl = castedThis->wrapped();
5307 if (UNLIKELY(state->argumentCount() < 1))
5308 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5309 auto commandId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5310 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5311 return JSValue::encode(toJS<IDLBoolean>(impl.queryCommandIndeterm(WTFMove(commandId))));
5312}
5313
5314EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandIndeterm(ExecState* state)
5315{
5316 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQueryCommandIndetermBody>(*state, "queryCommandIndeterm");
5317}
5318
5319static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQueryCommandStateBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5320{
5321 UNUSED_PARAM(state);
5322 UNUSED_PARAM(throwScope);
5323 auto& impl = castedThis->wrapped();
5324 if (UNLIKELY(state->argumentCount() < 1))
5325 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5326 auto commandId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5327 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5328 return JSValue::encode(toJS<IDLBoolean>(impl.queryCommandState(WTFMove(commandId))));
5329}
5330
5331EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandState(ExecState* state)
5332{
5333 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQueryCommandStateBody>(*state, "queryCommandState");
5334}
5335
5336static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQueryCommandSupportedBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5337{
5338 UNUSED_PARAM(state);
5339 UNUSED_PARAM(throwScope);
5340 auto& impl = castedThis->wrapped();
5341 if (UNLIKELY(state->argumentCount() < 1))
5342 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5343 auto commandId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5344 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5345 return JSValue::encode(toJS<IDLBoolean>(impl.queryCommandSupported(WTFMove(commandId))));
5346}
5347
5348EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandSupported(ExecState* state)
5349{
5350 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQueryCommandSupportedBody>(*state, "queryCommandSupported");
5351}
5352
5353static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQueryCommandValueBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5354{
5355 UNUSED_PARAM(state);
5356 UNUSED_PARAM(throwScope);
5357 auto& impl = castedThis->wrapped();
5358 if (UNLIKELY(state->argumentCount() < 1))
5359 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5360 auto commandId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5361 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5362 return JSValue::encode(toJS<IDLDOMString>(*state, impl.queryCommandValue(WTFMove(commandId))));
5363}
5364
5365EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQueryCommandValue(ExecState* state)
5366{
5367 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQueryCommandValueBody>(*state, "queryCommandValue");
5368}
5369
5370static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetSelectionBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5371{
5372 UNUSED_PARAM(state);
5373 UNUSED_PARAM(throwScope);
5374 auto& impl = castedThis->wrapped();
5375 return JSValue::encode(toJS<IDLNullable<IDLInterface<DOMSelection>>>(*state, *castedThis->globalObject(), impl.getSelection()));
5376}
5377
5378EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetSelection(ExecState* state)
5379{
5380 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetSelectionBody>(*state, "getSelection");
5381}
5382
5383static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateExpressionBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5384{
5385 UNUSED_PARAM(state);
5386 UNUSED_PARAM(throwScope);
5387 auto& impl = castedThis->wrapped();
5388 auto expression = convert<IDLDOMString>(*state, state->argument(0));
5389 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5390 auto resolver = convert<IDLNullable<IDLXPathNSResolver<XPathNSResolver>>>(*state, state->argument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "resolver", "Document", "createExpression", "XPathNSResolver"); });
5391 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5392 return JSValue::encode(toJS<IDLInterface<XPathExpression>>(*state, *castedThis->globalObject(), throwScope, impl.createExpression(WTFMove(expression), WTFMove(resolver))));
5393}
5394
5395EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateExpression(ExecState* state)
5396{
5397 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateExpressionBody>(*state, "createExpression");
5398}
5399
5400static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateNSResolverBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5401{
5402 UNUSED_PARAM(state);
5403 UNUSED_PARAM(throwScope);
5404 auto& impl = castedThis->wrapped();
5405 if (UNLIKELY(state->argumentCount() < 1))
5406 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5407 auto nodeResolver = convert<IDLNullable<IDLInterface<Node>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "nodeResolver", "Document", "createNSResolver", "Node"); });
5408 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5409 return JSValue::encode(toJS<IDLXPathNSResolver<XPathNSResolver>>(*state, *castedThis->globalObject(), impl.createNSResolver(WTFMove(nodeResolver))));
5410}
5411
5412EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNSResolver(ExecState* state)
5413{
5414 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateNSResolverBody>(*state, "createNSResolver");
5415}
5416
5417static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionEvaluateBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5418{
5419 UNUSED_PARAM(state);
5420 UNUSED_PARAM(throwScope);
5421 auto& impl = castedThis->wrapped();
5422 auto expression = convert<IDLDOMString>(*state, state->argument(0));
5423 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5424 auto contextNode = convert<IDLNullable<IDLInterface<Node>>>(*state, state->argument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "contextNode", "Document", "evaluate", "Node"); });
5425 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5426 auto resolver = convert<IDLNullable<IDLXPathNSResolver<XPathNSResolver>>>(*state, state->argument(2), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 2, "resolver", "Document", "evaluate", "XPathNSResolver"); });
5427 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5428 auto type = convert<IDLUnsignedShort>(*state, state->argument(3));
5429 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5430 auto inResult = convert<IDLNullable<IDLInterface<XPathResult>>>(*state, state->argument(4), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 4, "inResult", "Document", "evaluate", "XPathResult"); });
5431 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5432 return JSValue::encode(toJS<IDLInterface<XPathResult>>(*state, *castedThis->globalObject(), throwScope, impl.evaluate(WTFMove(expression), WTFMove(contextNode), WTFMove(resolver), WTFMove(type), WTFMove(inResult))));
5433}
5434
5435EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionEvaluate(ExecState* state)
5436{
5437 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionEvaluateBody>(*state, "evaluate");
5438}
5439
5440#if ENABLE(POINTER_LOCK)
5441static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionExitPointerLockBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5442{
5443 UNUSED_PARAM(state);
5444 UNUSED_PARAM(throwScope);
5445 auto& impl = castedThis->wrapped();
5446 impl.exitPointerLock();
5447 return JSValue::encode(jsUndefined());
5448}
5449
5450EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionExitPointerLock(ExecState* state)
5451{
5452 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionExitPointerLockBody>(*state, "exitPointerLock");
5453}
5454
5455#endif
5456
5457static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetOverrideStyleBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5458{
5459 UNUSED_PARAM(state);
5460 UNUSED_PARAM(throwScope);
5461 auto& impl = castedThis->wrapped();
5462 auto element = convert<IDLNullable<IDLInterface<Element>>>(*state, state->argument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "element", "Document", "getOverrideStyle", "Element"); });
5463 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5464 auto pseudoElement = convert<IDLDOMString>(*state, state->argument(1));
5465 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5466 return JSValue::encode(toJS<IDLNullable<IDLInterface<CSSStyleDeclaration>>>(*state, *castedThis->globalObject(), impl.getOverrideStyle(WTFMove(element), WTFMove(pseudoElement))));
5467}
5468
5469EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetOverrideStyle(ExecState* state)
5470{
5471 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetOverrideStyleBody>(*state, "getOverrideStyle");
5472}
5473
5474static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCaretRangeFromPointBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5475{
5476 UNUSED_PARAM(state);
5477 UNUSED_PARAM(throwScope);
5478 auto& impl = castedThis->wrapped();
5479 auto x = convert<IDLLong>(*state, state->argument(0));
5480 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5481 auto y = convert<IDLLong>(*state, state->argument(1));
5482 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5483 return JSValue::encode(toJS<IDLInterface<Range>>(*state, *castedThis->globalObject(), impl.caretRangeFromPoint(WTFMove(x), WTFMove(y))));
5484}
5485
5486EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCaretRangeFromPoint(ExecState* state)
5487{
5488 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCaretRangeFromPointBody>(*state, "caretRangeFromPoint");
5489}
5490
5491static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetCSSCanvasContextBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5492{
5493 UNUSED_PARAM(state);
5494 UNUSED_PARAM(throwScope);
5495 auto& impl = castedThis->wrapped();
5496 if (UNLIKELY(state->argumentCount() < 4))
5497 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5498 auto contextId = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5499 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5500 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
5501 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5502 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
5503 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5504 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
5505 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5506 return JSValue::encode(toJS<IDLNullable<IDLUnion<IDLInterface<WebGLRenderingContext>, IDLInterface<ImageBitmapRenderingContext>, IDLInterface<CanvasRenderingContext2D>>>>(*state, *castedThis->globalObject(), impl.getCSSCanvasContext(WTFMove(contextId), WTFMove(name), WTFMove(width), WTFMove(height))));
5507}
5508
5509EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetCSSCanvasContext(ExecState* state)
5510{
5511 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetCSSCanvasContextBody>(*state, "getCSSCanvasContext");
5512}
5513
5514static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionClearBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5515{
5516 UNUSED_PARAM(state);
5517 UNUSED_PARAM(throwScope);
5518 auto& impl = castedThis->wrapped();
5519 impl.clear();
5520 return JSValue::encode(jsUndefined());
5521}
5522
5523EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionClear(ExecState* state)
5524{
5525 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionClearBody>(*state, "clear");
5526}
5527
5528static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCaptureEventsBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5529{
5530 UNUSED_PARAM(state);
5531 UNUSED_PARAM(throwScope);
5532 auto& impl = castedThis->wrapped();
5533 impl.captureEvents();
5534 return JSValue::encode(jsUndefined());
5535}
5536
5537EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCaptureEvents(ExecState* state)
5538{
5539 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCaptureEventsBody>(*state, "captureEvents");
5540}
5541
5542static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionReleaseEventsBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5543{
5544 UNUSED_PARAM(state);
5545 UNUSED_PARAM(throwScope);
5546 auto& impl = castedThis->wrapped();
5547 impl.releaseEvents();
5548 return JSValue::encode(jsUndefined());
5549}
5550
5551EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionReleaseEvents(ExecState* state)
5552{
5553 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionReleaseEventsBody>(*state, "releaseEvents");
5554}
5555
5556static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetAnimationsBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5557{
5558 UNUSED_PARAM(state);
5559 UNUSED_PARAM(throwScope);
5560 auto& impl = castedThis->wrapped();
5561 return JSValue::encode(toJS<IDLSequence<IDLInterface<WebAnimation>>>(*state, *castedThis->globalObject(), impl.getAnimations()));
5562}
5563
5564EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetAnimations(ExecState* state)
5565{
5566 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetAnimationsBody>(*state, "getAnimations");
5567}
5568
5569#if ENABLE(FULLSCREEN_API)
5570static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionWebkitExitFullscreenBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5571{
5572 UNUSED_PARAM(state);
5573 UNUSED_PARAM(throwScope);
5574 auto& impl = castedThis->wrapped();
5575 WebCore::DocumentFullscreen::webkitExitFullscreen(impl);
5576 return JSValue::encode(jsUndefined());
5577}
5578
5579EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWebkitExitFullscreen(ExecState* state)
5580{
5581 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionWebkitExitFullscreenBody>(*state, "webkitExitFullscreen");
5582}
5583
5584#endif
5585
5586#if ENABLE(FULLSCREEN_API)
5587static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionWebkitCancelFullScreenBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5588{
5589 UNUSED_PARAM(state);
5590 UNUSED_PARAM(throwScope);
5591 auto& impl = castedThis->wrapped();
5592 WebCore::DocumentFullscreen::webkitCancelFullScreen(impl);
5593 return JSValue::encode(jsUndefined());
5594}
5595
5596EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionWebkitCancelFullScreen(ExecState* state)
5597{
5598 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionWebkitCancelFullScreenBody>(*state, "webkitCancelFullScreen");
5599}
5600
5601#endif
5602
5603static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionElementFromPointBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5604{
5605 UNUSED_PARAM(state);
5606 UNUSED_PARAM(throwScope);
5607 auto& impl = castedThis->wrapped();
5608 if (UNLIKELY(state->argumentCount() < 2))
5609 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5610 auto x = convert<IDLDouble>(*state, state->uncheckedArgument(0));
5611 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5612 auto y = convert<IDLDouble>(*state, state->uncheckedArgument(1));
5613 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5614 return JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*state, *castedThis->globalObject(), impl.elementFromPoint(WTFMove(x), WTFMove(y))));
5615}
5616
5617EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionElementFromPoint(ExecState* state)
5618{
5619 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionElementFromPointBody>(*state, "elementFromPoint");
5620}
5621
5622static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionElementsFromPointBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5623{
5624 UNUSED_PARAM(state);
5625 UNUSED_PARAM(throwScope);
5626 auto& impl = castedThis->wrapped();
5627 if (UNLIKELY(state->argumentCount() < 2))
5628 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5629 auto x = convert<IDLDouble>(*state, state->uncheckedArgument(0));
5630 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5631 auto y = convert<IDLDouble>(*state, state->uncheckedArgument(1));
5632 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5633 return JSValue::encode(toJS<IDLSequence<IDLInterface<Element>>>(*state, *castedThis->globalObject(), impl.elementsFromPoint(WTFMove(x), WTFMove(y))));
5634}
5635
5636EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionElementsFromPoint(ExecState* state)
5637{
5638 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionElementsFromPointBody>(*state, "elementsFromPoint");
5639}
5640
5641#if ENABLE(TOUCH_EVENTS)
5642static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateTouchBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5643{
5644 UNUSED_PARAM(state);
5645 UNUSED_PARAM(throwScope);
5646 auto& impl = castedThis->wrapped();
5647 auto window = convert<IDLNullable<IDLInterface<WindowProxy>>>(*state, state->argument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "window", "Document", "createTouch", "WindowProxy"); });
5648 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5649 auto target = convert<IDLNullable<IDLInterface<EventTarget>>>(*state, state->argument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "target", "Document", "createTouch", "EventTarget"); });
5650 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5651 auto identifier = convert<IDLLong>(*state, state->argument(2));
5652 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5653 auto pageX = convert<IDLLong>(*state, state->argument(3));
5654 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5655 auto pageY = convert<IDLLong>(*state, state->argument(4));
5656 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5657 auto screenX = convert<IDLLong>(*state, state->argument(5));
5658 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5659 auto screenY = convert<IDLLong>(*state, state->argument(6));
5660 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5661 auto webkitRadiusX = convert<IDLLong>(*state, state->argument(7));
5662 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5663 auto webkitRadiusY = convert<IDLLong>(*state, state->argument(8));
5664 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5665 auto webkitRotationAngle = convert<IDLUnrestrictedFloat>(*state, state->argument(9));
5666 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5667 auto webkitForce = convert<IDLUnrestrictedFloat>(*state, state->argument(10));
5668 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5669 return JSValue::encode(toJSNewlyCreated<IDLInterface<Touch>>(*state, *castedThis->globalObject(), WebCore::DocumentTouch::createTouch(impl, WTFMove(window), WTFMove(target), WTFMove(identifier), WTFMove(pageX), WTFMove(pageY), WTFMove(screenX), WTFMove(screenY), WTFMove(webkitRadiusX), WTFMove(webkitRadiusY), WTFMove(webkitRotationAngle), WTFMove(webkitForce))));
5670}
5671
5672EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTouch(ExecState* state)
5673{
5674 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateTouchBody>(*state, "createTouch");
5675}
5676
5677#endif
5678
5679#if ENABLE(TOUCH_EVENTS)
5680static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionCreateTouchListBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5681{
5682 UNUSED_PARAM(state);
5683 UNUSED_PARAM(throwScope);
5684 auto& impl = castedThis->wrapped();
5685 auto touches = convertVariadicArguments<IDLInterface<Touch>>(*state, 0);
5686 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5687 return JSValue::encode(toJSNewlyCreated<IDLInterface<TouchList>>(*state, *castedThis->globalObject(), WebCore::DocumentTouch::createTouchList(impl, WTFMove(touches))));
5688}
5689
5690EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTouchList(ExecState* state)
5691{
5692 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionCreateTouchListBody>(*state, "createTouchList");
5693}
5694
5695#endif
5696
5697static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionGetElementByIdBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5698{
5699 UNUSED_PARAM(state);
5700 UNUSED_PARAM(throwScope);
5701 auto& impl = castedThis->wrapped();
5702 if (UNLIKELY(state->argumentCount() < 1))
5703 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5704 auto elementId = convert<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>(*state, state->uncheckedArgument(0));
5705 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5706 return JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*state, *castedThis->globalObject(), impl.getElementById(WTFMove(elementId))));
5707}
5708
5709EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementById(ExecState* state)
5710{
5711 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionGetElementByIdBody>(*state, "getElementById");
5712}
5713
5714JSC::EncodedJSValue JIT_OPERATION unsafeJsDocumentPrototypeFunctionGetElementById(JSC::ExecState* state, JSDocument* castedThis, DOMJIT::IDLJSArgumentType<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>> encodedElementId)
5715{
5716 UNUSED_PARAM(state);
5717 VM& vm = state->vm();
5718 JSC::NativeCallFrameTracer tracer(&vm, state);
5719 auto throwScope = DECLARE_THROW_SCOPE(vm);
5720 UNUSED_PARAM(throwScope);
5721 auto& impl = castedThis->wrapped();
5722 auto elementId = DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert(*state, encodedElementId);
5723 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5724 return JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*state, *castedThis->globalObject(), impl.getElementById(WTFMove(elementId))));
5725}
5726
5727static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionPrependBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5728{
5729 UNUSED_PARAM(state);
5730 UNUSED_PARAM(throwScope);
5731 CustomElementReactionStack customElementReactionStack(*state);
5732 auto& impl = castedThis->wrapped();
5733 auto nodes = convertVariadicArguments<IDLUnion<IDLInterface<Node>, IDLDOMString>>(*state, 0);
5734 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5735 propagateException(*state, throwScope, impl.prepend(WTFMove(nodes)));
5736 return JSValue::encode(jsUndefined());
5737}
5738
5739EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionPrepend(ExecState* state)
5740{
5741 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionPrependBody>(*state, "prepend");
5742}
5743
5744static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionAppendBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5745{
5746 UNUSED_PARAM(state);
5747 UNUSED_PARAM(throwScope);
5748 CustomElementReactionStack customElementReactionStack(*state);
5749 auto& impl = castedThis->wrapped();
5750 auto nodes = convertVariadicArguments<IDLUnion<IDLInterface<Node>, IDLDOMString>>(*state, 0);
5751 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5752 propagateException(*state, throwScope, impl.append(WTFMove(nodes)));
5753 return JSValue::encode(jsUndefined());
5754}
5755
5756EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionAppend(ExecState* state)
5757{
5758 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionAppendBody>(*state, "append");
5759}
5760
5761static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQuerySelectorBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5762{
5763 UNUSED_PARAM(state);
5764 UNUSED_PARAM(throwScope);
5765 auto& impl = castedThis->wrapped();
5766 if (UNLIKELY(state->argumentCount() < 1))
5767 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5768 auto selectors = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5769 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5770 return JSValue::encode(toJS<IDLNullable<IDLInterface<Element>>>(*state, *castedThis->globalObject(), throwScope, impl.querySelector(WTFMove(selectors))));
5771}
5772
5773EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelector(ExecState* state)
5774{
5775 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQuerySelectorBody>(*state, "querySelector");
5776}
5777
5778static inline JSC::EncodedJSValue jsDocumentPrototypeFunctionQuerySelectorAllBody(JSC::ExecState* state, typename IDLOperation<JSDocument>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5779{
5780 UNUSED_PARAM(state);
5781 UNUSED_PARAM(throwScope);
5782 auto& impl = castedThis->wrapped();
5783 if (UNLIKELY(state->argumentCount() < 1))
5784 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5785 auto selectors = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
5786 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5787 return JSValue::encode(toJSNewlyCreated<IDLInterface<NodeList>>(*state, *castedThis->globalObject(), throwScope, impl.querySelectorAll(WTFMove(selectors))));
5788}
5789
5790EncodedJSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelectorAll(ExecState* state)
5791{
5792 return IDLOperation<JSDocument>::call<jsDocumentPrototypeFunctionQuerySelectorAllBody>(*state, "querySelectorAll");
5793}
5794
5795void JSDocument::visitChildren(JSCell* cell, SlotVisitor& visitor)
5796{
5797 auto* thisObject = jsCast<JSDocument*>(cell);
5798 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5799 Base::visitChildren(thisObject, visitor);
5800 thisObject->visitAdditionalChildren(visitor);
5801}
5802
5803void JSDocument::visitOutputConstraints(JSCell* cell, SlotVisitor& visitor)
5804{
5805 auto* thisObject = jsCast<JSDocument*>(cell);
5806 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
5807 Base::visitOutputConstraints(thisObject, visitor);
5808 thisObject->visitAdditionalChildren(visitor);
5809}
5810
5811Document* JSDocument::toWrapped(JSC::VM& vm, JSC::JSValue value)
5812{
5813 if (auto* wrapper = jsDynamicCast<JSDocument*>(vm, value))
5814 return &wrapper->wrapped();
5815 return nullptr;
5816}
5817
5818}
5819