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