/*
    This file is part of the WebKit open source project.
    This file has been generated by generate-bindings.pl. DO NOT MODIFY!

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
*/

#include "config.h"
#include "JSDOMWindow.h"

#include "BarInfo.h"
#include "CSSMutableStyleDeclaration.h"
#include "CSSRuleList.h"
#include "CSSStyleDeclaration.h"
#include "Console.h"
#include "DOMApplicationCache.h"
#include "DOMSelection.h"
#include "DOMWindow.h"
#include "Database.h"
#include "Document.h"
#include "Element.h"
#include "Event.h"
#include "EventListener.h"
#include "JSAttr.h"
#include "JSBarInfo.h"
#include "JSBeforeLoadEvent.h"
#include "JSCDATASection.h"
#include "JSCSSCharsetRule.h"
#include "JSCSSFontFaceRule.h"
#include "JSCSSImportRule.h"
#include "JSCSSMediaRule.h"
#include "JSCSSPageRule.h"
#include "JSCSSPrimitiveValue.h"
#include "JSCSSRule.h"
#include "JSCSSRuleList.h"
#include "JSCSSStyleDeclaration.h"
#include "JSCSSStyleRule.h"
#include "JSCSSStyleSheet.h"
#include "JSCSSValue.h"
#include "JSCSSValueList.h"
#include "JSCSSVariablesDeclaration.h"
#include "JSCSSVariablesRule.h"
#include "JSCanvasArrayBuffer.h"
#include "JSCanvasByteArray.h"
#include "JSCanvasFloatArray.h"
#include "JSCanvasIntArray.h"
#include "JSCanvasRenderingContext2D.h"
#include "JSCanvasRenderingContext3D.h"
#include "JSCanvasShortArray.h"
#include "JSCanvasUnsignedByteArray.h"
#include "JSCanvasUnsignedIntArray.h"
#include "JSCanvasUnsignedShortArray.h"
#include "JSCharacterData.h"
#include "JSClientRect.h"
#include "JSClientRectList.h"
#include "JSClipboard.h"
#include "JSComment.h"
#include "JSConsole.h"
#include "JSCounter.h"
#include "JSDOMApplicationCache.h"
#include "JSDOMBinding.h"
#include "JSDOMCoreException.h"
#include "JSDOMImplementation.h"
#include "JSDOMParser.h"
#include "JSDOMSelection.h"
#include "JSDOMWindow.h"
#include "JSDOMWindowCustom.h"
#include "JSDOMWindowShell.h"
#include "JSDatabase.h"
#include "JSDocument.h"
#include "JSDocumentFragment.h"
#include "JSDocumentType.h"
#include "JSElement.h"
#include "JSEntity.h"
#include "JSEntityReference.h"
#include "JSEvent.h"
#include "JSEventException.h"
#include "JSEventListener.h"
#include "JSEventSource.h"
#include "JSFile.h"
#include "JSFileList.h"
#include "JSHTMLAllCollection.h"
#include "JSHTMLAnchorElement.h"
#include "JSHTMLAppletElement.h"
#include "JSHTMLAreaElement.h"
#include "JSHTMLAudioElement.h"
#include "JSHTMLBRElement.h"
#include "JSHTMLBaseElement.h"
#include "JSHTMLBaseFontElement.h"
#include "JSHTMLBlockquoteElement.h"
#include "JSHTMLBodyElement.h"
#include "JSHTMLButtonElement.h"
#include "JSHTMLCanvasElement.h"
#include "JSHTMLCollection.h"
#include "JSHTMLDListElement.h"
#include "JSHTMLDataGridCellElement.h"
#include "JSHTMLDataGridColElement.h"
#include "JSHTMLDataGridElement.h"
#include "JSHTMLDirectoryElement.h"
#include "JSHTMLDivElement.h"
#include "JSHTMLDocument.h"
#include "JSHTMLElement.h"
#include "JSHTMLEmbedElement.h"
#include "JSHTMLFieldSetElement.h"
#include "JSHTMLFontElement.h"
#include "JSHTMLFormElement.h"
#include "JSHTMLFrameElement.h"
#include "JSHTMLFrameSetElement.h"
#include "JSHTMLHRElement.h"
#include "JSHTMLHeadElement.h"
#include "JSHTMLHeadingElement.h"
#include "JSHTMLHtmlElement.h"
#include "JSHTMLIFrameElement.h"
#include "JSHTMLImageElement.h"
#include "JSHTMLInputElement.h"
#include "JSHTMLIsIndexElement.h"
#include "JSHTMLLIElement.h"
#include "JSHTMLLabelElement.h"
#include "JSHTMLLegendElement.h"
#include "JSHTMLLinkElement.h"
#include "JSHTMLMapElement.h"
#include "JSHTMLMarqueeElement.h"
#include "JSHTMLMediaElement.h"
#include "JSHTMLMenuElement.h"
#include "JSHTMLMetaElement.h"
#include "JSHTMLModElement.h"
#include "JSHTMLOListElement.h"
#include "JSHTMLObjectElement.h"
#include "JSHTMLOptGroupElement.h"
#include "JSHTMLOptionElement.h"
#include "JSHTMLParagraphElement.h"
#include "JSHTMLParamElement.h"
#include "JSHTMLPreElement.h"
#include "JSHTMLQuoteElement.h"
#include "JSHTMLScriptElement.h"
#include "JSHTMLSelectElement.h"
#include "JSHTMLStyleElement.h"
#include "JSHTMLTableCaptionElement.h"
#include "JSHTMLTableCellElement.h"
#include "JSHTMLTableColElement.h"
#include "JSHTMLTableElement.h"
#include "JSHTMLTableRowElement.h"
#include "JSHTMLTableSectionElement.h"
#include "JSHTMLTextAreaElement.h"
#include "JSHTMLTitleElement.h"
#include "JSHTMLUListElement.h"
#include "JSHTMLVideoElement.h"
#include "JSKeyboardEvent.h"
#include "JSMedia.h"
#include "JSMediaError.h"
#include "JSMediaList.h"
#include "JSMessageChannel.h"
#include "JSMessageEvent.h"
#include "JSMessagePort.h"
#include "JSMimeType.h"
#include "JSMimeTypeArray.h"
#include "JSMouseEvent.h"
#include "JSMutationEvent.h"
#include "JSNamedNodeMap.h"
#include "JSNavigator.h"
#include "JSNode.h"
#include "JSNodeFilter.h"
#include "JSNodeList.h"
#include "JSNotation.h"
#include "JSOverflowEvent.h"
#include "JSPageTransitionEvent.h"
#include "JSPlugin.h"
#include "JSPluginArray.h"
#include "JSProcessingInstruction.h"
#include "JSProgressEvent.h"
#include "JSRGBColor.h"
#include "JSRange.h"
#include "JSRangeException.h"
#include "JSRect.h"
#include "JSSVGAngle.h"
#include "JSSVGColor.h"
#include "JSSVGException.h"
#include "JSSVGGradientElement.h"
#include "JSSVGLength.h"
#include "JSSVGMarkerElement.h"
#include "JSSVGPaint.h"
#include "JSSVGPathSeg.h"
#include "JSSVGPreserveAspectRatio.h"
#include "JSSVGRenderingIntent.h"
#include "JSSVGTextContentElement.h"
#include "JSSVGTextPathElement.h"
#include "JSSVGTransform.h"
#include "JSSVGUnitTypes.h"
#include "JSScreen.h"
#include "JSSharedWorker.h"
#include "JSStorage.h"
#include "JSStorageEvent.h"
#include "JSStyleSheet.h"
#include "JSStyleSheetList.h"
#include "JSText.h"
#include "JSTextEvent.h"
#include "JSTextMetrics.h"
#include "JSUIEvent.h"
#include "JSWebKitAnimationEvent.h"
#include "JSWebKitCSSKeyframeRule.h"
#include "JSWebKitCSSKeyframesRule.h"
#include "JSWebKitCSSMatrix.h"
#include "JSWebKitCSSTransformValue.h"
#include "JSWebKitPoint.h"
#include "JSWebKitTransitionEvent.h"
#include "JSWheelEvent.h"
#include "JSWorker.h"
#include "JSXMLHttpRequest.h"
#include "JSXMLHttpRequestException.h"
#include "JSXMLHttpRequestUpload.h"
#include "JSXMLSerializer.h"
#include "JSXPathEvaluator.h"
#include "JSXPathException.h"
#include "JSXPathResult.h"
#include "JSXSLTProcessor.h"
#include "KURL.h"
#include "Media.h"
#include "Navigator.h"
#include "RegisteredEventListener.h"
#include "Screen.h"
#include "Storage.h"
#include "WebKitPoint.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>

using namespace JSC;

namespace WebCore {

ASSERT_CLASS_FITS_IN_CELL(JSDOMWindow);

/* Hash table */

static const HashTableValue JSDOMWindowTableValues[296] =
{
    { "screen", DontDelete|ReadOnly, (intptr_t)jsDOMWindowScreen, (intptr_t)0 },
    { "history", DontDelete|ReadOnly, (intptr_t)jsDOMWindowHistory, (intptr_t)0 },
    { "locationbar", DontDelete, (intptr_t)jsDOMWindowLocationbar, (intptr_t)setJSDOMWindowLocationbar },
    { "menubar", DontDelete, (intptr_t)jsDOMWindowMenubar, (intptr_t)setJSDOMWindowMenubar },
    { "personalbar", DontDelete, (intptr_t)jsDOMWindowPersonalbar, (intptr_t)setJSDOMWindowPersonalbar },
    { "scrollbars", DontDelete, (intptr_t)jsDOMWindowScrollbars, (intptr_t)setJSDOMWindowScrollbars },
    { "statusbar", DontDelete, (intptr_t)jsDOMWindowStatusbar, (intptr_t)setJSDOMWindowStatusbar },
    { "toolbar", DontDelete, (intptr_t)jsDOMWindowToolbar, (intptr_t)setJSDOMWindowToolbar },
    { "navigator", DontDelete, (intptr_t)jsDOMWindowNavigator, (intptr_t)setJSDOMWindowNavigator },
    { "clientInformation", DontDelete, (intptr_t)jsDOMWindowClientInformation, (intptr_t)setJSDOMWindowClientInformation },
    { "location", DontDelete, (intptr_t)jsDOMWindowLocation, (intptr_t)setJSDOMWindowLocation },
    { "event", DontDelete, (intptr_t)jsDOMWindowEvent, (intptr_t)setJSDOMWindowEvent },
    { "crypto", DontDelete|ReadOnly, (intptr_t)jsDOMWindowCrypto, (intptr_t)0 },
    { "frameElement", DontDelete|ReadOnly, (intptr_t)jsDOMWindowFrameElement, (intptr_t)0 },
    { "offscreenBuffering", DontDelete, (intptr_t)jsDOMWindowOffscreenBuffering, (intptr_t)setJSDOMWindowOffscreenBuffering },
    { "outerHeight", DontDelete, (intptr_t)jsDOMWindowOuterHeight, (intptr_t)setJSDOMWindowOuterHeight },
    { "outerWidth", DontDelete, (intptr_t)jsDOMWindowOuterWidth, (intptr_t)setJSDOMWindowOuterWidth },
    { "innerHeight", DontDelete, (intptr_t)jsDOMWindowInnerHeight, (intptr_t)setJSDOMWindowInnerHeight },
    { "innerWidth", DontDelete, (intptr_t)jsDOMWindowInnerWidth, (intptr_t)setJSDOMWindowInnerWidth },
    { "screenX", DontDelete, (intptr_t)jsDOMWindowScreenX, (intptr_t)setJSDOMWindowScreenX },
    { "screenY", DontDelete, (intptr_t)jsDOMWindowScreenY, (intptr_t)setJSDOMWindowScreenY },
    { "screenLeft", DontDelete, (intptr_t)jsDOMWindowScreenLeft, (intptr_t)setJSDOMWindowScreenLeft },
    { "screenTop", DontDelete, (intptr_t)jsDOMWindowScreenTop, (intptr_t)setJSDOMWindowScreenTop },
    { "scrollX", DontDelete, (intptr_t)jsDOMWindowScrollX, (intptr_t)setJSDOMWindowScrollX },
    { "scrollY", DontDelete, (intptr_t)jsDOMWindowScrollY, (intptr_t)setJSDOMWindowScrollY },
    { "pageXOffset", DontDelete|ReadOnly, (intptr_t)jsDOMWindowPageXOffset, (intptr_t)0 },
    { "pageYOffset", DontDelete|ReadOnly, (intptr_t)jsDOMWindowPageYOffset, (intptr_t)0 },
    { "closed", DontDelete|ReadOnly, (intptr_t)jsDOMWindowClosed, (intptr_t)0 },
    { "length", DontDelete, (intptr_t)jsDOMWindowLength, (intptr_t)setJSDOMWindowLength },
    { "name", DontDelete, (intptr_t)jsDOMWindowName, (intptr_t)setJSDOMWindowName },
    { "status", DontDelete, (intptr_t)jsDOMWindowStatus, (intptr_t)setJSDOMWindowStatus },
    { "defaultStatus", DontDelete, (intptr_t)jsDOMWindowDefaultStatus, (intptr_t)setJSDOMWindowDefaultStatus },
    { "defaultstatus", DontDelete, (intptr_t)jsDOMWindowDefaultstatus, (intptr_t)setJSDOMWindowDefaultstatus },
    { "self", DontDelete, (intptr_t)jsDOMWindowSelf, (intptr_t)setJSDOMWindowSelf },
    { "window", DontDelete|ReadOnly, (intptr_t)jsDOMWindowWindow, (intptr_t)0 },
    { "frames", DontDelete, (intptr_t)jsDOMWindowFrames, (intptr_t)setJSDOMWindowFrames },
    { "opener", DontDelete, (intptr_t)jsDOMWindowOpener, (intptr_t)setJSDOMWindowOpener },
    { "parent", DontDelete, (intptr_t)jsDOMWindowParent, (intptr_t)setJSDOMWindowParent },
    { "top", DontDelete, (intptr_t)jsDOMWindowTop, (intptr_t)setJSDOMWindowTop },
    { "document", DontDelete|ReadOnly, (intptr_t)jsDOMWindowDocument, (intptr_t)0 },
    { "media", DontDelete|ReadOnly, (intptr_t)jsDOMWindowMedia, (intptr_t)0 },
    { "devicePixelRatio", DontDelete, (intptr_t)jsDOMWindowDevicePixelRatio, (intptr_t)setJSDOMWindowDevicePixelRatio },
    { "applicationCache", DontDelete|ReadOnly, (intptr_t)jsDOMWindowApplicationCache, (intptr_t)0 },
    { "sessionStorage", DontDelete|ReadOnly, (intptr_t)jsDOMWindowSessionStorage, (intptr_t)0 },
    { "localStorage", DontDelete|ReadOnly, (intptr_t)jsDOMWindowLocalStorage, (intptr_t)0 },
    { "console", DontDelete, (intptr_t)jsDOMWindowConsole, (intptr_t)setJSDOMWindowConsole },
    { "onabort", DontDelete, (intptr_t)jsDOMWindowOnabort, (intptr_t)setJSDOMWindowOnabort },
    { "onbeforeunload", DontDelete, (intptr_t)jsDOMWindowOnbeforeunload, (intptr_t)setJSDOMWindowOnbeforeunload },
    { "onblur", DontDelete, (intptr_t)jsDOMWindowOnblur, (intptr_t)setJSDOMWindowOnblur },
    { "oncanplay", DontDelete, (intptr_t)jsDOMWindowOncanplay, (intptr_t)setJSDOMWindowOncanplay },
    { "oncanplaythrough", DontDelete, (intptr_t)jsDOMWindowOncanplaythrough, (intptr_t)setJSDOMWindowOncanplaythrough },
    { "onchange", DontDelete, (intptr_t)jsDOMWindowOnchange, (intptr_t)setJSDOMWindowOnchange },
    { "onclick", DontDelete, (intptr_t)jsDOMWindowOnclick, (intptr_t)setJSDOMWindowOnclick },
    { "oncontextmenu", DontDelete, (intptr_t)jsDOMWindowOncontextmenu, (intptr_t)setJSDOMWindowOncontextmenu },
    { "ondblclick", DontDelete, (intptr_t)jsDOMWindowOndblclick, (intptr_t)setJSDOMWindowOndblclick },
    { "ondrag", DontDelete, (intptr_t)jsDOMWindowOndrag, (intptr_t)setJSDOMWindowOndrag },
    { "ondragend", DontDelete, (intptr_t)jsDOMWindowOndragend, (intptr_t)setJSDOMWindowOndragend },
    { "ondragenter", DontDelete, (intptr_t)jsDOMWindowOndragenter, (intptr_t)setJSDOMWindowOndragenter },
    { "ondragleave", DontDelete, (intptr_t)jsDOMWindowOndragleave, (intptr_t)setJSDOMWindowOndragleave },
    { "ondragover", DontDelete, (intptr_t)jsDOMWindowOndragover, (intptr_t)setJSDOMWindowOndragover },
    { "ondragstart", DontDelete, (intptr_t)jsDOMWindowOndragstart, (intptr_t)setJSDOMWindowOndragstart },
    { "ondrop", DontDelete, (intptr_t)jsDOMWindowOndrop, (intptr_t)setJSDOMWindowOndrop },
    { "ondurationchange", DontDelete, (intptr_t)jsDOMWindowOndurationchange, (intptr_t)setJSDOMWindowOndurationchange },
    { "onemptied", DontDelete, (intptr_t)jsDOMWindowOnemptied, (intptr_t)setJSDOMWindowOnemptied },
    { "onended", DontDelete, (intptr_t)jsDOMWindowOnended, (intptr_t)setJSDOMWindowOnended },
    { "onerror", DontDelete, (intptr_t)jsDOMWindowOnerror, (intptr_t)setJSDOMWindowOnerror },
    { "onfocus", DontDelete, (intptr_t)jsDOMWindowOnfocus, (intptr_t)setJSDOMWindowOnfocus },
    { "onhashchange", DontDelete, (intptr_t)jsDOMWindowOnhashchange, (intptr_t)setJSDOMWindowOnhashchange },
    { "oninput", DontDelete, (intptr_t)jsDOMWindowOninput, (intptr_t)setJSDOMWindowOninput },
    { "oninvalid", DontDelete, (intptr_t)jsDOMWindowOninvalid, (intptr_t)setJSDOMWindowOninvalid },
    { "onkeydown", DontDelete, (intptr_t)jsDOMWindowOnkeydown, (intptr_t)setJSDOMWindowOnkeydown },
    { "onkeypress", DontDelete, (intptr_t)jsDOMWindowOnkeypress, (intptr_t)setJSDOMWindowOnkeypress },
    { "onkeyup", DontDelete, (intptr_t)jsDOMWindowOnkeyup, (intptr_t)setJSDOMWindowOnkeyup },
    { "onload", DontDelete, (intptr_t)jsDOMWindowOnload, (intptr_t)setJSDOMWindowOnload },
    { "onloadeddata", DontDelete, (intptr_t)jsDOMWindowOnloadeddata, (intptr_t)setJSDOMWindowOnloadeddata },
    { "onloadedmetadata", DontDelete, (intptr_t)jsDOMWindowOnloadedmetadata, (intptr_t)setJSDOMWindowOnloadedmetadata },
    { "onloadstart", DontDelete, (intptr_t)jsDOMWindowOnloadstart, (intptr_t)setJSDOMWindowOnloadstart },
    { "onmessage", DontDelete, (intptr_t)jsDOMWindowOnmessage, (intptr_t)setJSDOMWindowOnmessage },
    { "onmousedown", DontDelete, (intptr_t)jsDOMWindowOnmousedown, (intptr_t)setJSDOMWindowOnmousedown },
    { "onmousemove", DontDelete, (intptr_t)jsDOMWindowOnmousemove, (intptr_t)setJSDOMWindowOnmousemove },
    { "onmouseout", DontDelete, (intptr_t)jsDOMWindowOnmouseout, (intptr_t)setJSDOMWindowOnmouseout },
    { "onmouseover", DontDelete, (intptr_t)jsDOMWindowOnmouseover, (intptr_t)setJSDOMWindowOnmouseover },
    { "onmouseup", DontDelete, (intptr_t)jsDOMWindowOnmouseup, (intptr_t)setJSDOMWindowOnmouseup },
    { "onmousewheel", DontDelete, (intptr_t)jsDOMWindowOnmousewheel, (intptr_t)setJSDOMWindowOnmousewheel },
    { "onoffline", DontDelete, (intptr_t)jsDOMWindowOnoffline, (intptr_t)setJSDOMWindowOnoffline },
    { "ononline", DontDelete, (intptr_t)jsDOMWindowOnonline, (intptr_t)setJSDOMWindowOnonline },
    { "onpagehide", DontDelete, (intptr_t)jsDOMWindowOnpagehide, (intptr_t)setJSDOMWindowOnpagehide },
    { "onpageshow", DontDelete, (intptr_t)jsDOMWindowOnpageshow, (intptr_t)setJSDOMWindowOnpageshow },
    { "onpause", DontDelete, (intptr_t)jsDOMWindowOnpause, (intptr_t)setJSDOMWindowOnpause },
    { "onplay", DontDelete, (intptr_t)jsDOMWindowOnplay, (intptr_t)setJSDOMWindowOnplay },
    { "onplaying", DontDelete, (intptr_t)jsDOMWindowOnplaying, (intptr_t)setJSDOMWindowOnplaying },
    { "onprogress", DontDelete, (intptr_t)jsDOMWindowOnprogress, (intptr_t)setJSDOMWindowOnprogress },
    { "onratechange", DontDelete, (intptr_t)jsDOMWindowOnratechange, (intptr_t)setJSDOMWindowOnratechange },
    { "onresize", DontDelete, (intptr_t)jsDOMWindowOnresize, (intptr_t)setJSDOMWindowOnresize },
    { "onscroll", DontDelete, (intptr_t)jsDOMWindowOnscroll, (intptr_t)setJSDOMWindowOnscroll },
    { "onseeked", DontDelete, (intptr_t)jsDOMWindowOnseeked, (intptr_t)setJSDOMWindowOnseeked },
    { "onseeking", DontDelete, (intptr_t)jsDOMWindowOnseeking, (intptr_t)setJSDOMWindowOnseeking },
    { "onselect", DontDelete, (intptr_t)jsDOMWindowOnselect, (intptr_t)setJSDOMWindowOnselect },
    { "onstalled", DontDelete, (intptr_t)jsDOMWindowOnstalled, (intptr_t)setJSDOMWindowOnstalled },
    { "onstorage", DontDelete, (intptr_t)jsDOMWindowOnstorage, (intptr_t)setJSDOMWindowOnstorage },
    { "onsubmit", DontDelete, (intptr_t)jsDOMWindowOnsubmit, (intptr_t)setJSDOMWindowOnsubmit },
    { "onsuspend", DontDelete, (intptr_t)jsDOMWindowOnsuspend, (intptr_t)setJSDOMWindowOnsuspend },
    { "ontimeupdate", DontDelete, (intptr_t)jsDOMWindowOntimeupdate, (intptr_t)setJSDOMWindowOntimeupdate },
    { "onunload", DontDelete, (intptr_t)jsDOMWindowOnunload, (intptr_t)setJSDOMWindowOnunload },
    { "onvolumechange", DontDelete, (intptr_t)jsDOMWindowOnvolumechange, (intptr_t)setJSDOMWindowOnvolumechange },
    { "onwaiting", DontDelete, (intptr_t)jsDOMWindowOnwaiting, (intptr_t)setJSDOMWindowOnwaiting },
    { "onreset", DontDelete, (intptr_t)jsDOMWindowOnreset, (intptr_t)setJSDOMWindowOnreset },
    { "onsearch", DontDelete, (intptr_t)jsDOMWindowOnsearch, (intptr_t)setJSDOMWindowOnsearch },
    { "onwebkitanimationend", DontDelete, (intptr_t)jsDOMWindowOnwebkitanimationend, (intptr_t)setJSDOMWindowOnwebkitanimationend },
    { "onwebkitanimationiteration", DontDelete, (intptr_t)jsDOMWindowOnwebkitanimationiteration, (intptr_t)setJSDOMWindowOnwebkitanimationiteration },
    { "onwebkitanimationstart", DontDelete, (intptr_t)jsDOMWindowOnwebkitanimationstart, (intptr_t)setJSDOMWindowOnwebkitanimationstart },
    { "onwebkittransitionend", DontDelete, (intptr_t)jsDOMWindowOnwebkittransitionend, (intptr_t)setJSDOMWindowOnwebkittransitionend },
    { "StyleSheet", DontDelete, (intptr_t)jsDOMWindowStyleSheetConstructor, (intptr_t)setJSDOMWindowStyleSheetConstructor },
    { "CSSStyleSheet", DontDelete, (intptr_t)jsDOMWindowCSSStyleSheetConstructor, (intptr_t)setJSDOMWindowCSSStyleSheetConstructor },
    { "CSSValue", DontDelete, (intptr_t)jsDOMWindowCSSValueConstructor, (intptr_t)setJSDOMWindowCSSValueConstructor },
    { "CSSPrimitiveValue", DontDelete, (intptr_t)jsDOMWindowCSSPrimitiveValueConstructor, (intptr_t)setJSDOMWindowCSSPrimitiveValueConstructor },
    { "CSSValueList", DontDelete, (intptr_t)jsDOMWindowCSSValueListConstructor, (intptr_t)setJSDOMWindowCSSValueListConstructor },
    { "WebKitCSSTransformValue", DontDelete, (intptr_t)jsDOMWindowWebKitCSSTransformValueConstructor, (intptr_t)setJSDOMWindowWebKitCSSTransformValueConstructor },
    { "CSSRule", DontDelete, (intptr_t)jsDOMWindowCSSRuleConstructor, (intptr_t)setJSDOMWindowCSSRuleConstructor },
    { "CSSCharsetRule", DontDelete, (intptr_t)jsDOMWindowCSSCharsetRuleConstructor, (intptr_t)setJSDOMWindowCSSCharsetRuleConstructor },
    { "CSSFontFaceRule", DontDelete, (intptr_t)jsDOMWindowCSSFontFaceRuleConstructor, (intptr_t)setJSDOMWindowCSSFontFaceRuleConstructor },
    { "CSSImportRule", DontDelete, (intptr_t)jsDOMWindowCSSImportRuleConstructor, (intptr_t)setJSDOMWindowCSSImportRuleConstructor },
    { "CSSMediaRule", DontDelete, (intptr_t)jsDOMWindowCSSMediaRuleConstructor, (intptr_t)setJSDOMWindowCSSMediaRuleConstructor },
    { "CSSPageRule", DontDelete, (intptr_t)jsDOMWindowCSSPageRuleConstructor, (intptr_t)setJSDOMWindowCSSPageRuleConstructor },
    { "CSSStyleRule", DontDelete, (intptr_t)jsDOMWindowCSSStyleRuleConstructor, (intptr_t)setJSDOMWindowCSSStyleRuleConstructor },
    { "CSSVariablesRule", DontDelete, (intptr_t)jsDOMWindowCSSVariablesRuleConstructor, (intptr_t)setJSDOMWindowCSSVariablesRuleConstructor },
    { "CSSVariablesDeclaration", DontDelete, (intptr_t)jsDOMWindowCSSVariablesDeclarationConstructor, (intptr_t)setJSDOMWindowCSSVariablesDeclarationConstructor },
    { "CSSStyleDeclaration", DontDelete, (intptr_t)jsDOMWindowCSSStyleDeclarationConstructor, (intptr_t)setJSDOMWindowCSSStyleDeclarationConstructor },
    { "MediaList", DontDelete, (intptr_t)jsDOMWindowMediaListConstructor, (intptr_t)setJSDOMWindowMediaListConstructor },
    { "Counter", DontDelete, (intptr_t)jsDOMWindowCounterConstructor, (intptr_t)setJSDOMWindowCounterConstructor },
    { "CSSRuleList", DontDelete, (intptr_t)jsDOMWindowCSSRuleListConstructor, (intptr_t)setJSDOMWindowCSSRuleListConstructor },
    { "Rect", DontDelete, (intptr_t)jsDOMWindowRectConstructor, (intptr_t)setJSDOMWindowRectConstructor },
    { "RGBColor", DontDelete, (intptr_t)jsDOMWindowRGBColorConstructor, (intptr_t)setJSDOMWindowRGBColorConstructor },
    { "StyleSheetList", DontDelete, (intptr_t)jsDOMWindowStyleSheetListConstructor, (intptr_t)setJSDOMWindowStyleSheetListConstructor },
    { "DOMException", DontDelete, (intptr_t)jsDOMWindowDOMExceptionConstructor, (intptr_t)setJSDOMWindowDOMExceptionConstructor },
    { "DOMImplementation", DontDelete, (intptr_t)jsDOMWindowDOMImplementationConstructor, (intptr_t)setJSDOMWindowDOMImplementationConstructor },
    { "DocumentFragment", DontDelete, (intptr_t)jsDOMWindowDocumentFragmentConstructor, (intptr_t)setJSDOMWindowDocumentFragmentConstructor },
    { "Document", DontDelete, (intptr_t)jsDOMWindowDocumentConstructor, (intptr_t)setJSDOMWindowDocumentConstructor },
    { "Node", DontDelete, (intptr_t)jsDOMWindowNodeConstructor, (intptr_t)setJSDOMWindowNodeConstructor },
    { "NodeList", DontDelete, (intptr_t)jsDOMWindowNodeListConstructor, (intptr_t)setJSDOMWindowNodeListConstructor },
    { "NamedNodeMap", DontDelete, (intptr_t)jsDOMWindowNamedNodeMapConstructor, (intptr_t)setJSDOMWindowNamedNodeMapConstructor },
    { "CharacterData", DontDelete, (intptr_t)jsDOMWindowCharacterDataConstructor, (intptr_t)setJSDOMWindowCharacterDataConstructor },
    { "Attr", DontDelete, (intptr_t)jsDOMWindowAttrConstructor, (intptr_t)setJSDOMWindowAttrConstructor },
    { "Element", DontDelete, (intptr_t)jsDOMWindowElementConstructor, (intptr_t)setJSDOMWindowElementConstructor },
    { "Text", DontDelete, (intptr_t)jsDOMWindowTextConstructor, (intptr_t)setJSDOMWindowTextConstructor },
    { "Comment", DontDelete, (intptr_t)jsDOMWindowCommentConstructor, (intptr_t)setJSDOMWindowCommentConstructor },
    { "CDATASection", DontDelete, (intptr_t)jsDOMWindowCDATASectionConstructor, (intptr_t)setJSDOMWindowCDATASectionConstructor },
    { "DocumentType", DontDelete, (intptr_t)jsDOMWindowDocumentTypeConstructor, (intptr_t)setJSDOMWindowDocumentTypeConstructor },
    { "Notation", DontDelete, (intptr_t)jsDOMWindowNotationConstructor, (intptr_t)setJSDOMWindowNotationConstructor },
    { "Entity", DontDelete, (intptr_t)jsDOMWindowEntityConstructor, (intptr_t)setJSDOMWindowEntityConstructor },
    { "EntityReference", DontDelete, (intptr_t)jsDOMWindowEntityReferenceConstructor, (intptr_t)setJSDOMWindowEntityReferenceConstructor },
    { "ProcessingInstruction", DontDelete, (intptr_t)jsDOMWindowProcessingInstructionConstructor, (intptr_t)setJSDOMWindowProcessingInstructionConstructor },
    { "HTMLDocument", DontDelete, (intptr_t)jsDOMWindowHTMLDocumentConstructor, (intptr_t)setJSDOMWindowHTMLDocumentConstructor },
    { "HTMLElement", DontDelete, (intptr_t)jsDOMWindowHTMLElementConstructor, (intptr_t)setJSDOMWindowHTMLElementConstructor },
    { "HTMLAnchorElement", DontDelete, (intptr_t)jsDOMWindowHTMLAnchorElementConstructor, (intptr_t)setJSDOMWindowHTMLAnchorElementConstructor },
    { "HTMLAppletElement", DontDelete, (intptr_t)jsDOMWindowHTMLAppletElementConstructor, (intptr_t)setJSDOMWindowHTMLAppletElementConstructor },
    { "HTMLAreaElement", DontDelete, (intptr_t)jsDOMWindowHTMLAreaElementConstructor, (intptr_t)setJSDOMWindowHTMLAreaElementConstructor },
    { "HTMLBRElement", DontDelete, (intptr_t)jsDOMWindowHTMLBRElementConstructor, (intptr_t)setJSDOMWindowHTMLBRElementConstructor },
    { "HTMLBaseElement", DontDelete, (intptr_t)jsDOMWindowHTMLBaseElementConstructor, (intptr_t)setJSDOMWindowHTMLBaseElementConstructor },
    { "HTMLBaseFontElement", DontDelete, (intptr_t)jsDOMWindowHTMLBaseFontElementConstructor, (intptr_t)setJSDOMWindowHTMLBaseFontElementConstructor },
    { "HTMLBlockquoteElement", DontDelete, (intptr_t)jsDOMWindowHTMLBlockquoteElementConstructor, (intptr_t)setJSDOMWindowHTMLBlockquoteElementConstructor },
    { "HTMLBodyElement", DontDelete, (intptr_t)jsDOMWindowHTMLBodyElementConstructor, (intptr_t)setJSDOMWindowHTMLBodyElementConstructor },
    { "HTMLButtonElement", DontDelete, (intptr_t)jsDOMWindowHTMLButtonElementConstructor, (intptr_t)setJSDOMWindowHTMLButtonElementConstructor },
    { "HTMLCanvasElement", DontDelete, (intptr_t)jsDOMWindowHTMLCanvasElementConstructor, (intptr_t)setJSDOMWindowHTMLCanvasElementConstructor },
#if ENABLE(DATAGRID)
    { "HTMLDataGridElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridElementConstructor },
#endif
#if ENABLE(DATAGRID)
    { "HTMLDataGridCellElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridCellElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridCellElementConstructor },
#endif
#if ENABLE(DATAGRID)
    { "HTMLDataGridColElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridColElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridColElementConstructor },
#endif
    { "HTMLDListElement", DontDelete, (intptr_t)jsDOMWindowHTMLDListElementConstructor, (intptr_t)setJSDOMWindowHTMLDListElementConstructor },
    { "HTMLDirectoryElement", DontDelete, (intptr_t)jsDOMWindowHTMLDirectoryElementConstructor, (intptr_t)setJSDOMWindowHTMLDirectoryElementConstructor },
    { "HTMLDivElement", DontDelete, (intptr_t)jsDOMWindowHTMLDivElementConstructor, (intptr_t)setJSDOMWindowHTMLDivElementConstructor },
    { "HTMLEmbedElement", DontDelete, (intptr_t)jsDOMWindowHTMLEmbedElementConstructor, (intptr_t)setJSDOMWindowHTMLEmbedElementConstructor },
    { "HTMLFieldSetElement", DontDelete, (intptr_t)jsDOMWindowHTMLFieldSetElementConstructor, (intptr_t)setJSDOMWindowHTMLFieldSetElementConstructor },
    { "HTMLFontElement", DontDelete, (intptr_t)jsDOMWindowHTMLFontElementConstructor, (intptr_t)setJSDOMWindowHTMLFontElementConstructor },
    { "HTMLFormElement", DontDelete, (intptr_t)jsDOMWindowHTMLFormElementConstructor, (intptr_t)setJSDOMWindowHTMLFormElementConstructor },
    { "HTMLFrameElement", DontDelete, (intptr_t)jsDOMWindowHTMLFrameElementConstructor, (intptr_t)setJSDOMWindowHTMLFrameElementConstructor },
    { "HTMLFrameSetElement", DontDelete, (intptr_t)jsDOMWindowHTMLFrameSetElementConstructor, (intptr_t)setJSDOMWindowHTMLFrameSetElementConstructor },
    { "HTMLHRElement", DontDelete, (intptr_t)jsDOMWindowHTMLHRElementConstructor, (intptr_t)setJSDOMWindowHTMLHRElementConstructor },
    { "HTMLHeadElement", DontDelete, (intptr_t)jsDOMWindowHTMLHeadElementConstructor, (intptr_t)setJSDOMWindowHTMLHeadElementConstructor },
    { "HTMLHeadingElement", DontDelete, (intptr_t)jsDOMWindowHTMLHeadingElementConstructor, (intptr_t)setJSDOMWindowHTMLHeadingElementConstructor },
    { "HTMLHtmlElement", DontDelete, (intptr_t)jsDOMWindowHTMLHtmlElementConstructor, (intptr_t)setJSDOMWindowHTMLHtmlElementConstructor },
    { "HTMLIFrameElement", DontDelete, (intptr_t)jsDOMWindowHTMLIFrameElementConstructor, (intptr_t)setJSDOMWindowHTMLIFrameElementConstructor },
    { "HTMLImageElement", DontDelete, (intptr_t)jsDOMWindowHTMLImageElementConstructor, (intptr_t)setJSDOMWindowHTMLImageElementConstructor },
    { "HTMLInputElement", DontDelete, (intptr_t)jsDOMWindowHTMLInputElementConstructor, (intptr_t)setJSDOMWindowHTMLInputElementConstructor },
    { "HTMLIsIndexElement", DontDelete, (intptr_t)jsDOMWindowHTMLIsIndexElementConstructor, (intptr_t)setJSDOMWindowHTMLIsIndexElementConstructor },
    { "HTMLLIElement", DontDelete, (intptr_t)jsDOMWindowHTMLLIElementConstructor, (intptr_t)setJSDOMWindowHTMLLIElementConstructor },
    { "HTMLLabelElement", DontDelete, (intptr_t)jsDOMWindowHTMLLabelElementConstructor, (intptr_t)setJSDOMWindowHTMLLabelElementConstructor },
    { "HTMLLegendElement", DontDelete, (intptr_t)jsDOMWindowHTMLLegendElementConstructor, (intptr_t)setJSDOMWindowHTMLLegendElementConstructor },
    { "HTMLLinkElement", DontDelete, (intptr_t)jsDOMWindowHTMLLinkElementConstructor, (intptr_t)setJSDOMWindowHTMLLinkElementConstructor },
    { "HTMLMapElement", DontDelete, (intptr_t)jsDOMWindowHTMLMapElementConstructor, (intptr_t)setJSDOMWindowHTMLMapElementConstructor },
    { "HTMLMarqueeElement", DontDelete, (intptr_t)jsDOMWindowHTMLMarqueeElementConstructor, (intptr_t)setJSDOMWindowHTMLMarqueeElementConstructor },
    { "HTMLMenuElement", DontDelete, (intptr_t)jsDOMWindowHTMLMenuElementConstructor, (intptr_t)setJSDOMWindowHTMLMenuElementConstructor },
    { "HTMLMetaElement", DontDelete, (intptr_t)jsDOMWindowHTMLMetaElementConstructor, (intptr_t)setJSDOMWindowHTMLMetaElementConstructor },
    { "HTMLModElement", DontDelete, (intptr_t)jsDOMWindowHTMLModElementConstructor, (intptr_t)setJSDOMWindowHTMLModElementConstructor },
    { "HTMLOListElement", DontDelete, (intptr_t)jsDOMWindowHTMLOListElementConstructor, (intptr_t)setJSDOMWindowHTMLOListElementConstructor },
    { "HTMLObjectElement", DontDelete, (intptr_t)jsDOMWindowHTMLObjectElementConstructor, (intptr_t)setJSDOMWindowHTMLObjectElementConstructor },
    { "HTMLOptGroupElement", DontDelete, (intptr_t)jsDOMWindowHTMLOptGroupElementConstructor, (intptr_t)setJSDOMWindowHTMLOptGroupElementConstructor },
    { "HTMLOptionElement", DontDelete, (intptr_t)jsDOMWindowHTMLOptionElementConstructor, (intptr_t)setJSDOMWindowHTMLOptionElementConstructor },
    { "HTMLParagraphElement", DontDelete, (intptr_t)jsDOMWindowHTMLParagraphElementConstructor, (intptr_t)setJSDOMWindowHTMLParagraphElementConstructor },
    { "HTMLParamElement", DontDelete, (intptr_t)jsDOMWindowHTMLParamElementConstructor, (intptr_t)setJSDOMWindowHTMLParamElementConstructor },
    { "HTMLPreElement", DontDelete, (intptr_t)jsDOMWindowHTMLPreElementConstructor, (intptr_t)setJSDOMWindowHTMLPreElementConstructor },
    { "HTMLQuoteElement", DontDelete, (intptr_t)jsDOMWindowHTMLQuoteElementConstructor, (intptr_t)setJSDOMWindowHTMLQuoteElementConstructor },
    { "HTMLScriptElement", DontDelete, (intptr_t)jsDOMWindowHTMLScriptElementConstructor, (intptr_t)setJSDOMWindowHTMLScriptElementConstructor },
    { "HTMLSelectElement", DontDelete, (intptr_t)jsDOMWindowHTMLSelectElementConstructor, (intptr_t)setJSDOMWindowHTMLSelectElementConstructor },
    { "HTMLStyleElement", DontDelete, (intptr_t)jsDOMWindowHTMLStyleElementConstructor, (intptr_t)setJSDOMWindowHTMLStyleElementConstructor },
    { "HTMLTableCaptionElement", DontDelete, (intptr_t)jsDOMWindowHTMLTableCaptionElementConstructor, (intptr_t)setJSDOMWindowHTMLTableCaptionElementConstructor },
    { "HTMLTableCellElement", DontDelete, (intptr_t)jsDOMWindowHTMLTableCellElementConstructor, (intptr_t)setJSDOMWindowHTMLTableCellElementConstructor },
    { "HTMLTableColElement", DontDelete, (intptr_t)jsDOMWindowHTMLTableColElementConstructor, (intptr_t)setJSDOMWindowHTMLTableColElementConstructor },
    { "HTMLTableElement", DontDelete, (intptr_t)jsDOMWindowHTMLTableElementConstructor, (intptr_t)setJSDOMWindowHTMLTableElementConstructor },
    { "HTMLTableRowElement", DontDelete, (intptr_t)jsDOMWindowHTMLTableRowElementConstructor, (intptr_t)setJSDOMWindowHTMLTableRowElementConstructor },
    { "HTMLTableSectionElement", DontDelete, (intptr_t)jsDOMWindowHTMLTableSectionElementConstructor, (intptr_t)setJSDOMWindowHTMLTableSectionElementConstructor },
    { "HTMLTextAreaElement", DontDelete, (intptr_t)jsDOMWindowHTMLTextAreaElementConstructor, (intptr_t)setJSDOMWindowHTMLTextAreaElementConstructor },
    { "HTMLTitleElement", DontDelete, (intptr_t)jsDOMWindowHTMLTitleElementConstructor, (intptr_t)setJSDOMWindowHTMLTitleElementConstructor },
    { "HTMLUListElement", DontDelete, (intptr_t)jsDOMWindowHTMLUListElementConstructor, (intptr_t)setJSDOMWindowHTMLUListElementConstructor },
    { "HTMLCollection", DontDelete, (intptr_t)jsDOMWindowHTMLCollectionConstructor, (intptr_t)setJSDOMWindowHTMLCollectionConstructor },
    { "HTMLAllCollection", DontDelete, (intptr_t)jsDOMWindowHTMLAllCollectionConstructor, (intptr_t)setJSDOMWindowHTMLAllCollectionConstructor },
    { "Image", DontDelete, (intptr_t)jsDOMWindowImageConstructor, (intptr_t)setJSDOMWindowImageConstructor },
    { "Option", DontDelete, (intptr_t)jsDOMWindowOptionConstructor, (intptr_t)setJSDOMWindowOptionConstructor },
    { "CanvasRenderingContext2D", DontDelete, (intptr_t)jsDOMWindowCanvasRenderingContext2DConstructor, (intptr_t)setJSDOMWindowCanvasRenderingContext2DConstructor },
#if ENABLE(3D_CANVAS)
    { "CanvasRenderingContext3D", DontDelete, (intptr_t)jsDOMWindowCanvasRenderingContext3DConstructor, (intptr_t)setJSDOMWindowCanvasRenderingContext3DConstructor },
#endif
    { "TextMetrics", DontDelete, (intptr_t)jsDOMWindowTextMetricsConstructor, (intptr_t)setJSDOMWindowTextMetricsConstructor },
#if ENABLE(3D_CANVAS)
    { "CanvasArrayBuffer", DontDelete, (intptr_t)jsDOMWindowCanvasArrayBufferConstructor, (intptr_t)setJSDOMWindowCanvasArrayBufferConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasByteArray", DontDelete, (intptr_t)jsDOMWindowCanvasByteArrayConstructor, (intptr_t)setJSDOMWindowCanvasByteArrayConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasUnsignedByteArray", DontDelete, (intptr_t)jsDOMWindowCanvasUnsignedByteArrayConstructor, (intptr_t)setJSDOMWindowCanvasUnsignedByteArrayConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasShortArray", DontDelete, (intptr_t)jsDOMWindowCanvasShortArrayConstructor, (intptr_t)setJSDOMWindowCanvasShortArrayConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasUnsignedShortArray", DontDelete, (intptr_t)jsDOMWindowCanvasUnsignedShortArrayConstructor, (intptr_t)setJSDOMWindowCanvasUnsignedShortArrayConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasIntArray", DontDelete, (intptr_t)jsDOMWindowCanvasIntArrayConstructor, (intptr_t)setJSDOMWindowCanvasIntArrayConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasUnsignedIntArray", DontDelete, (intptr_t)jsDOMWindowCanvasUnsignedIntArrayConstructor, (intptr_t)setJSDOMWindowCanvasUnsignedIntArrayConstructor },
#endif
#if ENABLE(3D_CANVAS)
    { "CanvasFloatArray", DontDelete, (intptr_t)jsDOMWindowCanvasFloatArrayConstructor, (intptr_t)setJSDOMWindowCanvasFloatArrayConstructor },
#endif
    { "Event", DontDelete, (intptr_t)jsDOMWindowEventConstructor, (intptr_t)setJSDOMWindowEventConstructor },
    { "BeforeLoadEvent", DontDelete, (intptr_t)jsDOMWindowBeforeLoadEventConstructor, (intptr_t)setJSDOMWindowBeforeLoadEventConstructor },
    { "KeyboardEvent", DontDelete, (intptr_t)jsDOMWindowKeyboardEventConstructor, (intptr_t)setJSDOMWindowKeyboardEventConstructor },
    { "MouseEvent", DontDelete, (intptr_t)jsDOMWindowMouseEventConstructor, (intptr_t)setJSDOMWindowMouseEventConstructor },
    { "MutationEvent", DontDelete, (intptr_t)jsDOMWindowMutationEventConstructor, (intptr_t)setJSDOMWindowMutationEventConstructor },
    { "OverflowEvent", DontDelete, (intptr_t)jsDOMWindowOverflowEventConstructor, (intptr_t)setJSDOMWindowOverflowEventConstructor },
    { "PageTransitionEvent", DontDelete, (intptr_t)jsDOMWindowPageTransitionEventConstructor, (intptr_t)setJSDOMWindowPageTransitionEventConstructor },
    { "ProgressEvent", DontDelete, (intptr_t)jsDOMWindowProgressEventConstructor, (intptr_t)setJSDOMWindowProgressEventConstructor },
    { "TextEvent", DontDelete, (intptr_t)jsDOMWindowTextEventConstructor, (intptr_t)setJSDOMWindowTextEventConstructor },
    { "UIEvent", DontDelete, (intptr_t)jsDOMWindowUIEventConstructor, (intptr_t)setJSDOMWindowUIEventConstructor },
    { "WebKitAnimationEvent", DontDelete, (intptr_t)jsDOMWindowWebKitAnimationEventConstructor, (intptr_t)setJSDOMWindowWebKitAnimationEventConstructor },
    { "WebKitTransitionEvent", DontDelete, (intptr_t)jsDOMWindowWebKitTransitionEventConstructor, (intptr_t)setJSDOMWindowWebKitTransitionEventConstructor },
    { "WheelEvent", DontDelete, (intptr_t)jsDOMWindowWheelEventConstructor, (intptr_t)setJSDOMWindowWheelEventConstructor },
    { "MessageEvent", DontDelete, (intptr_t)jsDOMWindowMessageEventConstructor, (intptr_t)setJSDOMWindowMessageEventConstructor },
    { "EventException", DontDelete, (intptr_t)jsDOMWindowEventExceptionConstructor, (intptr_t)setJSDOMWindowEventExceptionConstructor },
    { "WebKitCSSKeyframeRule", DontDelete, (intptr_t)jsDOMWindowWebKitCSSKeyframeRuleConstructor, (intptr_t)setJSDOMWindowWebKitCSSKeyframeRuleConstructor },
    { "WebKitCSSKeyframesRule", DontDelete, (intptr_t)jsDOMWindowWebKitCSSKeyframesRuleConstructor, (intptr_t)setJSDOMWindowWebKitCSSKeyframesRuleConstructor },
    { "WebKitCSSMatrix", DontDelete, (intptr_t)jsDOMWindowWebKitCSSMatrixConstructor, (intptr_t)setJSDOMWindowWebKitCSSMatrixConstructor },
    { "WebKitPoint", DontDelete, (intptr_t)jsDOMWindowWebKitPointConstructor, (intptr_t)setJSDOMWindowWebKitPointConstructor },
    { "Clipboard", DontDelete, (intptr_t)jsDOMWindowClipboardConstructor, (intptr_t)setJSDOMWindowClipboardConstructor },
    { "File", DontDelete, (intptr_t)jsDOMWindowFileConstructor, (intptr_t)setJSDOMWindowFileConstructor },
    { "FileList", DontDelete, (intptr_t)jsDOMWindowFileListConstructor, (intptr_t)setJSDOMWindowFileListConstructor },
    { "NodeFilter", DontDelete, (intptr_t)jsDOMWindowNodeFilterConstructor, (intptr_t)setJSDOMWindowNodeFilterConstructor },
    { "Range", DontDelete, (intptr_t)jsDOMWindowRangeConstructor, (intptr_t)setJSDOMWindowRangeConstructor },
    { "RangeException", DontDelete, (intptr_t)jsDOMWindowRangeExceptionConstructor, (intptr_t)setJSDOMWindowRangeExceptionConstructor },
    { "EventSource", DontDelete, (intptr_t)jsDOMWindowEventSourceConstructor, (intptr_t)setJSDOMWindowEventSourceConstructor },
    { "XMLDocument", DontDelete, (intptr_t)jsDOMWindowXMLDocumentConstructor, (intptr_t)setJSDOMWindowXMLDocumentConstructor },
    { "DOMParser", DontDelete, (intptr_t)jsDOMWindowDOMParserConstructor, (intptr_t)setJSDOMWindowDOMParserConstructor },
    { "XMLSerializer", DontDelete, (intptr_t)jsDOMWindowXMLSerializerConstructor, (intptr_t)setJSDOMWindowXMLSerializerConstructor },
    { "XMLHttpRequest", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestConstructor },
    { "XMLHttpRequestUpload", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestUploadConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestUploadConstructor },
    { "XMLHttpRequestException", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestExceptionConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestExceptionConstructor },
#if ENABLE(XSLT)
    { "XSLTProcessor", DontDelete, (intptr_t)jsDOMWindowXSLTProcessorConstructor, (intptr_t)setJSDOMWindowXSLTProcessorConstructor },
#endif
    { "MessagePort", DontDelete, (intptr_t)jsDOMWindowMessagePortConstructor, (intptr_t)setJSDOMWindowMessagePortConstructor },
    { "MessageChannel", DontDelete, (intptr_t)jsDOMWindowMessageChannelConstructor, (intptr_t)setJSDOMWindowMessageChannelConstructor },
    { "Worker", DontDelete, (intptr_t)jsDOMWindowWorkerConstructor, (intptr_t)setJSDOMWindowWorkerConstructor },
    { "SharedWorker", DontDelete, (intptr_t)jsDOMWindowSharedWorkerConstructor, (intptr_t)setJSDOMWindowSharedWorkerConstructor },
    { "Plugin", DontDelete, (intptr_t)jsDOMWindowPluginConstructor, (intptr_t)setJSDOMWindowPluginConstructor },
    { "PluginArray", DontDelete, (intptr_t)jsDOMWindowPluginArrayConstructor, (intptr_t)setJSDOMWindowPluginArrayConstructor },
    { "MimeType", DontDelete, (intptr_t)jsDOMWindowMimeTypeConstructor, (intptr_t)setJSDOMWindowMimeTypeConstructor },
    { "MimeTypeArray", DontDelete, (intptr_t)jsDOMWindowMimeTypeArrayConstructor, (intptr_t)setJSDOMWindowMimeTypeArrayConstructor },
    { "ClientRect", DontDelete, (intptr_t)jsDOMWindowClientRectConstructor, (intptr_t)setJSDOMWindowClientRectConstructor },
    { "ClientRectList", DontDelete, (intptr_t)jsDOMWindowClientRectListConstructor, (intptr_t)setJSDOMWindowClientRectListConstructor },
    { "Storage", DontDelete, (intptr_t)jsDOMWindowStorageConstructor, (intptr_t)setJSDOMWindowStorageConstructor },
    { "StorageEvent", DontDelete, (intptr_t)jsDOMWindowStorageEventConstructor, (intptr_t)setJSDOMWindowStorageEventConstructor },
#if ENABLE(VIDEO)
    { "Audio", DontDelete, (intptr_t)jsDOMWindowAudioConstructor, (intptr_t)setJSDOMWindowAudioConstructor },
#endif
#if ENABLE(VIDEO)
    { "HTMLAudioElement", DontDelete, (intptr_t)jsDOMWindowHTMLAudioElementConstructor, (intptr_t)setJSDOMWindowHTMLAudioElementConstructor },
#endif
#if ENABLE(VIDEO)
    { "HTMLMediaElement", DontDelete, (intptr_t)jsDOMWindowHTMLMediaElementConstructor, (intptr_t)setJSDOMWindowHTMLMediaElementConstructor },
#endif
#if ENABLE(VIDEO)
    { "HTMLVideoElement", DontDelete, (intptr_t)jsDOMWindowHTMLVideoElementConstructor, (intptr_t)setJSDOMWindowHTMLVideoElementConstructor },
#endif
#if ENABLE(VIDEO)
    { "MediaError", DontDelete, (intptr_t)jsDOMWindowMediaErrorConstructor, (intptr_t)setJSDOMWindowMediaErrorConstructor },
#endif
    { "XPathEvaluator", DontDelete, (intptr_t)jsDOMWindowXPathEvaluatorConstructor, (intptr_t)setJSDOMWindowXPathEvaluatorConstructor },
    { "XPathResult", DontDelete, (intptr_t)jsDOMWindowXPathResultConstructor, (intptr_t)setJSDOMWindowXPathResultConstructor },
    { "XPathException", DontDelete, (intptr_t)jsDOMWindowXPathExceptionConstructor, (intptr_t)setJSDOMWindowXPathExceptionConstructor },
    { "SVGAngle", DontDelete, (intptr_t)jsDOMWindowSVGAngleConstructor, (intptr_t)setJSDOMWindowSVGAngleConstructor },
    { "SVGColor", DontDelete, (intptr_t)jsDOMWindowSVGColorConstructor, (intptr_t)setJSDOMWindowSVGColorConstructor },
    { "SVGException", DontDelete, (intptr_t)jsDOMWindowSVGExceptionConstructor, (intptr_t)setJSDOMWindowSVGExceptionConstructor },
    { "SVGGradientElement", DontDelete, (intptr_t)jsDOMWindowSVGGradientElementConstructor, (intptr_t)setJSDOMWindowSVGGradientElementConstructor },
    { "SVGLength", DontDelete, (intptr_t)jsDOMWindowSVGLengthConstructor, (intptr_t)setJSDOMWindowSVGLengthConstructor },
    { "SVGMarkerElement", DontDelete, (intptr_t)jsDOMWindowSVGMarkerElementConstructor, (intptr_t)setJSDOMWindowSVGMarkerElementConstructor },
    { "SVGPaint", DontDelete, (intptr_t)jsDOMWindowSVGPaintConstructor, (intptr_t)setJSDOMWindowSVGPaintConstructor },
    { "SVGPathSeg", DontDelete, (intptr_t)jsDOMWindowSVGPathSegConstructor, (intptr_t)setJSDOMWindowSVGPathSegConstructor },
    { "SVGPreserveAspectRatio", DontDelete, (intptr_t)jsDOMWindowSVGPreserveAspectRatioConstructor, (intptr_t)setJSDOMWindowSVGPreserveAspectRatioConstructor },
    { "SVGRenderingIntent", DontDelete, (intptr_t)jsDOMWindowSVGRenderingIntentConstructor, (intptr_t)setJSDOMWindowSVGRenderingIntentConstructor },
    { "SVGTextContentElement", DontDelete, (intptr_t)jsDOMWindowSVGTextContentElementConstructor, (intptr_t)setJSDOMWindowSVGTextContentElementConstructor },
    { "SVGTextPathElement", DontDelete, (intptr_t)jsDOMWindowSVGTextPathElementConstructor, (intptr_t)setJSDOMWindowSVGTextPathElementConstructor },
    { "SVGTransform", DontDelete, (intptr_t)jsDOMWindowSVGTransformConstructor, (intptr_t)setJSDOMWindowSVGTransformConstructor },
    { "SVGUnitTypes", DontDelete, (intptr_t)jsDOMWindowSVGUnitTypesConstructor, (intptr_t)setJSDOMWindowSVGUnitTypesConstructor },
    { 0, 0, 0, 0 }
};

static JSC_CONST_HASHTABLE HashTable JSDOMWindowTable =
#if ENABLE(PERFECT_HASH_SIZE)
    { 65535, JSDOMWindowTableValues, 0 };
#else
    { 1067, 1023, JSDOMWindowTableValues, 0 };
#endif

/* Hash table for prototype */

static const HashTableValue JSDOMWindowPrototypeTableValues[37] =
{
    { "getSelection", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionGetSelection, (intptr_t)0 },
    { "focus", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionFocus, (intptr_t)0 },
    { "blur", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionBlur, (intptr_t)0 },
    { "close", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionClose, (intptr_t)0 },
    { "print", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionPrint, (intptr_t)0 },
    { "stop", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionStop, (intptr_t)0 },
    { "open", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionOpen, (intptr_t)3 },
    { "showModalDialog", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionShowModalDialog, (intptr_t)3 },
    { "alert", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionAlert, (intptr_t)1 },
    { "confirm", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionConfirm, (intptr_t)1 },
    { "prompt", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionPrompt, (intptr_t)2 },
    { "find", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionFind, (intptr_t)7 },
    { "scrollBy", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionScrollBy, (intptr_t)2 },
    { "scrollTo", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionScrollTo, (intptr_t)2 },
    { "scroll", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionScroll, (intptr_t)2 },
    { "moveBy", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionMoveBy, (intptr_t)2 },
    { "moveTo", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionMoveTo, (intptr_t)2 },
    { "resizeBy", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionResizeBy, (intptr_t)2 },
    { "resizeTo", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionResizeTo, (intptr_t)2 },
    { "getComputedStyle", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionGetComputedStyle, (intptr_t)2 },
    { "getMatchedCSSRules", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionGetMatchedCSSRules, (intptr_t)3 },
    { "webkitConvertPointFromPageToNode", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionWebkitConvertPointFromPageToNode, (intptr_t)2 },
    { "webkitConvertPointFromNodeToPage", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionWebkitConvertPointFromNodeToPage, (intptr_t)2 },
    { "openDatabase", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionOpenDatabase, (intptr_t)4 },
    { "postMessage", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionPostMessage, (intptr_t)3 },
    { "setTimeout", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionSetTimeout, (intptr_t)2 },
    { "clearTimeout", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionClearTimeout, (intptr_t)1 },
    { "setInterval", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionSetInterval, (intptr_t)2 },
    { "clearInterval", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionClearInterval, (intptr_t)1 },
    { "atob", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionAtob, (intptr_t)1 },
    { "btoa", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionBtoa, (intptr_t)1 },
    { "addEventListener", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionAddEventListener, (intptr_t)3 },
    { "removeEventListener", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionRemoveEventListener, (intptr_t)3 },
    { "dispatchEvent", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionDispatchEvent, (intptr_t)1 },
    { "captureEvents", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionCaptureEvents, (intptr_t)0 },
    { "releaseEvents", DontDelete|Function, (intptr_t)jsDOMWindowPrototypeFunctionReleaseEvents, (intptr_t)0 },
    { 0, 0, 0, 0 }
};

static JSC_CONST_HASHTABLE HashTable JSDOMWindowPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
    { 1023, JSDOMWindowPrototypeTableValues, 0 };
#else
    { 134, 127, JSDOMWindowPrototypeTableValues, 0 };
#endif

const ClassInfo JSDOMWindowPrototype::s_info = { "DOMWindowPrototype", 0, &JSDOMWindowPrototypeTable, 0 };

void* JSDOMWindowPrototype::operator new(size_t size)
{
    return JSDOMWindow::commonJSGlobalData()->heap.allocate(size);
}

bool JSDOMWindowPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
{
    return getStaticFunctionSlot<JSObject>(exec, &JSDOMWindowPrototypeTable, this, propertyName, slot);
}

bool JSDOMWindowPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
{
    return getStaticFunctionDescriptor<JSObject>(exec, &JSDOMWindowPrototypeTable, this, propertyName, descriptor);
}

const ClassInfo JSDOMWindow::s_info = { "DOMWindow", &JSDOMWindowBase::s_info, &JSDOMWindowTable, 0 };

JSDOMWindow::JSDOMWindow(NonNullPassRefPtr<Structure> structure, PassRefPtr<DOMWindow> impl, JSDOMWindowShell* shell)
    : JSDOMWindowBase(structure, impl, shell)
{
}

JSDOMWindow::~JSDOMWindow()
{
    impl()->invalidateEventListeners();
}

JSValue jsDOMWindowScreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->screen()));
}

JSValue jsDOMWindowHistory(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    return castedThis->history(exec);
}

JSValue jsDOMWindowLocationbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->locationbar()));
}

JSValue jsDOMWindowMenubar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->menubar()));
}

JSValue jsDOMWindowPersonalbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->personalbar()));
}

JSValue jsDOMWindowScrollbars(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->scrollbars()));
}

JSValue jsDOMWindowStatusbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->statusbar()));
}

JSValue jsDOMWindowToolbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->toolbar()));
}

JSValue jsDOMWindowNavigator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->navigator()));
}

JSValue jsDOMWindowClientInformation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->clientInformation()));
}

JSValue jsDOMWindowLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    return castedThis->location(exec);
}

JSValue jsDOMWindowEvent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->event(exec);
}

JSValue jsDOMWindowCrypto(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->crypto(exec);
}

JSValue jsDOMWindowFrameElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return checkNodeSecurity(exec, imp->frameElement()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->frameElement())) : jsUndefined();
}

JSValue jsDOMWindowOffscreenBuffering(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsBoolean(imp->offscreenBuffering());
}

JSValue jsDOMWindowOuterHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->outerHeight());
}

JSValue jsDOMWindowOuterWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->outerWidth());
}

JSValue jsDOMWindowInnerHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->innerHeight());
}

JSValue jsDOMWindowInnerWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->innerWidth());
}

JSValue jsDOMWindowScreenX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->screenX());
}

JSValue jsDOMWindowScreenY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->screenY());
}

JSValue jsDOMWindowScreenLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->screenLeft());
}

JSValue jsDOMWindowScreenTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->screenTop());
}

JSValue jsDOMWindowScrollX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->scrollX());
}

JSValue jsDOMWindowScrollY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->scrollY());
}

JSValue jsDOMWindowPageXOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->pageXOffset());
}

JSValue jsDOMWindowPageYOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->pageYOffset());
}

JSValue jsDOMWindowClosed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsBoolean(imp->closed());
}

JSValue jsDOMWindowLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->length());
}

JSValue jsDOMWindowName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsString(exec, imp->name());
}

JSValue jsDOMWindowStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsString(exec, imp->status());
}

JSValue jsDOMWindowDefaultStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsString(exec, imp->defaultStatus());
}

JSValue jsDOMWindowDefaultstatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsString(exec, imp->defaultstatus());
}

JSValue jsDOMWindowSelf(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->self()));
}

JSValue jsDOMWindowWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->window()));
}

JSValue jsDOMWindowFrames(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->frames()));
}

JSValue jsDOMWindowOpener(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->opener()));
}

JSValue jsDOMWindowParent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parent()));
}

JSValue jsDOMWindowTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->top()));
}

JSValue jsDOMWindowDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->document()));
}

JSValue jsDOMWindowMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}

JSValue jsDOMWindowDevicePixelRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return jsNumber(exec, imp->devicePixelRatio());
}

JSValue jsDOMWindowApplicationCache(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->applicationCache()));
}

JSValue jsDOMWindowSessionStorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sessionStorage()));
}

JSValue jsDOMWindowLocalStorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->localStorage()));
}

JSValue jsDOMWindowConsole(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->console()));
}

JSValue jsDOMWindowOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onabort()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onbeforeunload()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onblur()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOncanplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->oncanplay()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOncanplaythrough(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->oncanplaythrough()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onchange()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onclick()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->oncontextmenu()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondblclick()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondrag()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondragend()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondragenter()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondragleave()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondragover()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondragstart()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondrop()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOndurationchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ondurationchange()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnemptied(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onemptied()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnended(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onended()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onerror()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onfocus()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnhashchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onhashchange()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->oninput()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOninvalid(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->oninvalid()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onkeydown()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onkeypress()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onkeyup()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onload()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnloadeddata(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onloadeddata()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnloadedmetadata(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onloadedmetadata()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnloadstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onloadstart()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmessage()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmousedown()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmousemove()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmouseout()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmouseover()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmouseup()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onmousewheel()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onoffline()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ononline()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnpagehide(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onpagehide()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnpageshow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onpageshow()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnpause(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onpause()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onplay()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnplaying(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onplaying()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onprogress()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnratechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onratechange()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onresize()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onscroll()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnseeked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onseeked()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnseeking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onseeking()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onselect()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnstalled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onstalled()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onstorage()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onsubmit()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnsuspend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onsuspend()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOntimeupdate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->ontimeupdate()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onunload()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnvolumechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onvolumechange()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnwaiting(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onwaiting()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onreset()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onsearch()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnwebkitanimationend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onwebkitanimationend()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnwebkitanimationiteration(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onwebkitanimationiteration()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnwebkitanimationstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onwebkitanimationstart()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowOnwebkittransitionend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
    if (EventListener* listener = imp->onwebkittransitionend()) {
        if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))
            return jsFunction;
    }
    return jsNull();
}

JSValue jsDOMWindowStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSStyleSheet::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSStyleSheet::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSValue::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSPrimitiveValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSPrimitiveValue::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSValueListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSValueList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWebKitCSSTransformValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSWebKitCSSTransformValue::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSCharsetRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSCharsetRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSFontFaceRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSFontFaceRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSImportRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSImportRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSMediaRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSMediaRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSPageRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSPageRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSStyleRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSStyleRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSVariablesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSVariablesRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSVariablesDeclaration::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSStyleDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSStyleDeclaration::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMediaListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMediaList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCounterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCounter::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCSSRuleListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCSSRuleList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSRect::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowRGBColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSRGBColor::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowStyleSheetListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSStyleSheetList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowDOMExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDOMCoreException::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowDOMImplementationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDOMImplementation::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowDocumentFragmentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDocumentFragment::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDocument::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowNodeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSNode::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowNodeListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSNodeList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowNamedNodeMapConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSNamedNodeMap::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCharacterDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCharacterData::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowAttrConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSAttr::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowTextConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSText::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCommentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSComment::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowCDATASectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCDATASection::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowDocumentTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDocumentType::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowNotationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSNotation::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowEntityConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSEntity::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowEntityReferenceConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSEntityReference::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowProcessingInstructionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSProcessingInstruction::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDocument::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLAnchorElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLAnchorElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLAppletElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLAppletElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLAreaElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLBRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLBRElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLBaseElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLBaseElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLBaseFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLBaseFontElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLBlockquoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLBlockquoteElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLBodyElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLBodyElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLButtonElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLButtonElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLCanvasElement::getConstructor(exec, castedThis);
}

#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDataGridElement::getConstructor(exec, castedThis);
}
#endif

#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDataGridCellElement::getConstructor(exec, castedThis);
}
#endif

#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDataGridColElement::getConstructor(exec, castedThis);
}
#endif

JSValue jsDOMWindowHTMLDListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDListElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLDirectoryElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDirectoryElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLDivElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLDivElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLEmbedElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLEmbedElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLFieldSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLFieldSetElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLFontElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLFormElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLFormElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLFrameElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLFrameSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLFrameSetElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLHRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLHRElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLHeadElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLHeadElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLHeadingElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLHeadingElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLHtmlElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLHtmlElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLIFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLIFrameElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLImageElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLImageElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLInputElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLInputElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLIsIndexElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLIsIndexElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLLIElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLLIElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLLabelElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLLabelElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLLegendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLLegendElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLLinkElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLLinkElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLMapElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLMarqueeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLMarqueeElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLMenuElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLMenuElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLMetaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLMetaElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLModElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLModElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLOListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLOListElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLObjectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLObjectElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLOptGroupElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLOptGroupElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLOptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLOptionElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLParagraphElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLParagraphElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLParamElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLParamElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLPreElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLPreElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLQuoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLQuoteElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLScriptElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLScriptElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLSelectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLSelectElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLStyleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLStyleElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTableCaptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTableCaptionElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTableCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTableCellElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTableColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTableColElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTableElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTableElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTableRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTableRowElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTableSectionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTableSectionElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTextAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTextAreaElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLTitleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLTitleElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLUListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLUListElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLCollection::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowHTMLAllCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLAllCollection::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowImageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->image(exec);
}

JSValue jsDOMWindowOptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->option(exec);
}

JSValue jsDOMWindowCanvasRenderingContext2DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCanvasRenderingContext2D::getConstructor(exec, castedThis);
}

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasRenderingContext3DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSCanvasRenderingContext3D::getConstructor(exec, castedThis);
}
#endif

JSValue jsDOMWindowTextMetricsConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSTextMetrics::getConstructor(exec, castedThis);
}

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasArrayBufferConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasArrayBuffer(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasByteArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasByteArray(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasUnsignedByteArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasUnsignedByteArray(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasShortArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasShortArray(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasUnsignedShortArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasUnsignedShortArray(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasIntArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasIntArray(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasUnsignedIntArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasUnsignedIntArray(exec);
}
#endif

#if ENABLE(3D_CANVAS)
JSValue jsDOMWindowCanvasFloatArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->canvasFloatArray(exec);
}
#endif

JSValue jsDOMWindowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowBeforeLoadEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSBeforeLoadEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowKeyboardEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSKeyboardEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMouseEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMouseEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMutationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMutationEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowOverflowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSOverflowEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowPageTransitionEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSPageTransitionEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowProgressEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSProgressEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowTextEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSTextEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowUIEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSUIEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWebKitAnimationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSWebKitAnimationEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWebKitTransitionEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSWebKitTransitionEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWheelEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSWheelEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMessageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMessageEvent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowEventExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSEventException::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWebKitCSSKeyframeRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSWebKitCSSKeyframeRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWebKitCSSKeyframesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSWebKitCSSKeyframesRule::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowWebKitCSSMatrixConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->webKitCSSMatrix(exec);
}

JSValue jsDOMWindowWebKitPointConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->webKitPoint(exec);
}

JSValue jsDOMWindowClipboardConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSClipboard::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowFileConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSFile::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowFileListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSFileList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowNodeFilterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSNodeFilter::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowRangeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSRange::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowRangeExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSRangeException::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowEventSourceConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->eventSource(exec);
}

JSValue jsDOMWindowXMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDocument::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowDOMParserConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSDOMParser::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowXMLSerializerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSXMLSerializer::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowXMLHttpRequestConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->xmlHttpRequest(exec);
}

JSValue jsDOMWindowXMLHttpRequestUploadConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSXMLHttpRequestUpload::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSXMLHttpRequestException::getConstructor(exec, castedThis);
}

#if ENABLE(XSLT)
JSValue jsDOMWindowXSLTProcessorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->xsltProcessor(exec);
}
#endif

JSValue jsDOMWindowMessagePortConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMessagePort::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMessageChannelConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->messageChannel(exec);
}

JSValue jsDOMWindowWorkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->worker(exec);
}

JSValue jsDOMWindowSharedWorkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->sharedWorker(exec);
}

JSValue jsDOMWindowPluginConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSPlugin::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowPluginArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSPluginArray::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMimeTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMimeType::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowMimeTypeArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMimeTypeArray::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowClientRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSClientRect::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowClientRectListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSClientRectList::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowStorageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSStorage::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowStorageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSStorageEvent::getConstructor(exec, castedThis);
}

#if ENABLE(VIDEO)
JSValue jsDOMWindowAudioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThis->audio(exec);
}
#endif

#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLAudioElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLAudioElement::getConstructor(exec, castedThis);
}
#endif

#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLMediaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLMediaElement::getConstructor(exec, castedThis);
}
#endif

#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLVideoElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSHTMLVideoElement::getConstructor(exec, castedThis);
}
#endif

#if ENABLE(VIDEO)
JSValue jsDOMWindowMediaErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSMediaError::getConstructor(exec, castedThis);
}
#endif

JSValue jsDOMWindowXPathEvaluatorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSXPathEvaluator::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowXPathResultConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSXPathResult::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowXPathExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSXPathException::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGAngleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGAngle::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGColor::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGException::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGGradientElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGGradientElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGLengthConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGLength::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGMarkerElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGMarkerElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGPaintConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGPaint::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGPathSegConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGPathSeg::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGPreserveAspectRatioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGPreserveAspectRatio::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGRenderingIntentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGRenderingIntent::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGTextContentElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGTextContentElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGTextPathElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGTextPathElement::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGTransformConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGTransform::getConstructor(exec, castedThis);
}

JSValue jsDOMWindowSVGUnitTypesConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
    if (!castedThis->allowsAccessFrom(exec))
        return jsUndefined();
    return JSSVGUnitTypes::getConstructor(exec, castedThis);
}

void setJSDOMWindowLocationbar(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "locationbar"), value);
}

void setJSDOMWindowMenubar(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "menubar"), value);
}

void setJSDOMWindowPersonalbar(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "personalbar"), value);
}

void setJSDOMWindowScrollbars(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "scrollbars"), value);
}

void setJSDOMWindowStatusbar(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "statusbar"), value);
}

void setJSDOMWindowToolbar(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "toolbar"), value);
}

void setJSDOMWindowNavigator(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "navigator"), value);
}

void setJSDOMWindowClientInformation(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "clientInformation"), value);
}

void setJSDOMWindowLocation(ExecState* exec, JSObject* thisObject, JSValue value)
{
    static_cast<JSDOMWindow*>(thisObject)->setLocation(exec, value);
}

void setJSDOMWindowEvent(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "event"), value);
}

void setJSDOMWindowOffscreenBuffering(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "offscreenBuffering"), value);
}

void setJSDOMWindowOuterHeight(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "outerHeight"), value);
}

void setJSDOMWindowOuterWidth(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "outerWidth"), value);
}

void setJSDOMWindowInnerHeight(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "innerHeight"), value);
}

void setJSDOMWindowInnerWidth(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "innerWidth"), value);
}

void setJSDOMWindowScreenX(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "screenX"), value);
}

void setJSDOMWindowScreenY(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "screenY"), value);
}

void setJSDOMWindowScreenLeft(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "screenLeft"), value);
}

void setJSDOMWindowScreenTop(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "screenTop"), value);
}

void setJSDOMWindowScrollX(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "scrollX"), value);
}

void setJSDOMWindowScrollY(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "scrollY"), value);
}

void setJSDOMWindowLength(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "length"), value);
}

void setJSDOMWindowName(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    imp->setName(value.toString(exec));
}

void setJSDOMWindowStatus(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    imp->setStatus(value.toString(exec));
}

void setJSDOMWindowDefaultStatus(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    imp->setDefaultStatus(value.toString(exec));
}

void setJSDOMWindowDefaultstatus(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    imp->setDefaultstatus(value.toString(exec));
}

void setJSDOMWindowSelf(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "self"), value);
}

void setJSDOMWindowFrames(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "frames"), value);
}

void setJSDOMWindowOpener(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "opener"), value);
}

void setJSDOMWindowParent(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "parent"), value);
}

void setJSDOMWindowTop(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "top"), value);
}

void setJSDOMWindowDevicePixelRatio(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "devicePixelRatio"), value);
}

void setJSDOMWindowConsole(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in object
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "console"), value);
}

void setJSDOMWindowOnabort(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnabort(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnbeforeunload(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnbeforeunload(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnblur(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnblur(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOncanplay(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOncanplay(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOncanplaythrough(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOncanplaythrough(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnchange(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnchange(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnclick(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnclick(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOncontextmenu(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOncontextmenu(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndblclick(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndblclick(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndrag(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndrag(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndragend(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndragend(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndragenter(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndragenter(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndragleave(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndragleave(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndragover(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndragover(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndragstart(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndragstart(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndrop(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndrop(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOndurationchange(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOndurationchange(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnemptied(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnemptied(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnended(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnended(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnerror(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnfocus(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnfocus(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnhashchange(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnhashchange(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOninput(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOninput(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOninvalid(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOninvalid(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnkeydown(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnkeydown(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnkeypress(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnkeypress(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnkeyup(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnkeyup(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnload(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnload(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnloadeddata(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnloadeddata(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnloadedmetadata(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnloadedmetadata(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnloadstart(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnloadstart(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmessage(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmousedown(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmousedown(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmousemove(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmousemove(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmouseout(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmouseout(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmouseover(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmouseover(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmouseup(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmouseup(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnmousewheel(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnmousewheel(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnoffline(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnoffline(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnonline(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnonline(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnpagehide(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnpagehide(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnpageshow(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnpageshow(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnpause(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnpause(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnplay(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnplay(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnplaying(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnplaying(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnprogress(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnprogress(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnratechange(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnratechange(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnresize(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnresize(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnscroll(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnscroll(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnseeked(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnseeked(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnseeking(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnseeking(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnselect(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnselect(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnstalled(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnstalled(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnstorage(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnstorage(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnsubmit(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnsubmit(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnsuspend(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnsuspend(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOntimeupdate(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOntimeupdate(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnunload(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnunload(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnvolumechange(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnvolumechange(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnwaiting(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnwaiting(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnreset(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnreset(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnsearch(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnsearch(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnwebkitanimationend(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnwebkitanimationend(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnwebkitanimationiteration(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnwebkitanimationiteration(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnwebkitanimationstart(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnwebkitanimationstart(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowOnwebkittransitionend(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    UNUSED_PARAM(exec);
    DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(thisObject)->impl());
    JSDOMGlobalObject* globalObject = static_cast<JSDOMWindow*>(thisObject);
    imp->setOnwebkittransitionend(globalObject->createJSAttributeEventListener(value));
}

void setJSDOMWindowStyleSheetConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "StyleSheet"), value);
}

void setJSDOMWindowCSSStyleSheetConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSStyleSheet"), value);
}

void setJSDOMWindowCSSValueConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSValue"), value);
}

void setJSDOMWindowCSSPrimitiveValueConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSPrimitiveValue"), value);
}

void setJSDOMWindowCSSValueListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSValueList"), value);
}

void setJSDOMWindowWebKitCSSTransformValueConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitCSSTransformValue"), value);
}

void setJSDOMWindowCSSRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSRule"), value);
}

void setJSDOMWindowCSSCharsetRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSCharsetRule"), value);
}

void setJSDOMWindowCSSFontFaceRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSFontFaceRule"), value);
}

void setJSDOMWindowCSSImportRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSImportRule"), value);
}

void setJSDOMWindowCSSMediaRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSMediaRule"), value);
}

void setJSDOMWindowCSSPageRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSPageRule"), value);
}

void setJSDOMWindowCSSStyleRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSStyleRule"), value);
}

void setJSDOMWindowCSSVariablesRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSVariablesRule"), value);
}

void setJSDOMWindowCSSVariablesDeclarationConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSVariablesDeclaration"), value);
}

void setJSDOMWindowCSSStyleDeclarationConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSStyleDeclaration"), value);
}

void setJSDOMWindowMediaListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MediaList"), value);
}

void setJSDOMWindowCounterConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Counter"), value);
}

void setJSDOMWindowCSSRuleListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CSSRuleList"), value);
}

void setJSDOMWindowRectConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Rect"), value);
}

void setJSDOMWindowRGBColorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "RGBColor"), value);
}

void setJSDOMWindowStyleSheetListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "StyleSheetList"), value);
}

void setJSDOMWindowDOMExceptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "DOMException"), value);
}

void setJSDOMWindowDOMImplementationConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "DOMImplementation"), value);
}

void setJSDOMWindowDocumentFragmentConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "DocumentFragment"), value);
}

void setJSDOMWindowDocumentConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Document"), value);
}

void setJSDOMWindowNodeConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Node"), value);
}

void setJSDOMWindowNodeListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "NodeList"), value);
}

void setJSDOMWindowNamedNodeMapConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "NamedNodeMap"), value);
}

void setJSDOMWindowCharacterDataConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CharacterData"), value);
}

void setJSDOMWindowAttrConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Attr"), value);
}

void setJSDOMWindowElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Element"), value);
}

void setJSDOMWindowTextConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Text"), value);
}

void setJSDOMWindowCommentConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Comment"), value);
}

void setJSDOMWindowCDATASectionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CDATASection"), value);
}

void setJSDOMWindowDocumentTypeConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "DocumentType"), value);
}

void setJSDOMWindowNotationConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Notation"), value);
}

void setJSDOMWindowEntityConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Entity"), value);
}

void setJSDOMWindowEntityReferenceConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "EntityReference"), value);
}

void setJSDOMWindowProcessingInstructionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "ProcessingInstruction"), value);
}

void setJSDOMWindowHTMLDocumentConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDocument"), value);
}

void setJSDOMWindowHTMLElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLElement"), value);
}

void setJSDOMWindowHTMLAnchorElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLAnchorElement"), value);
}

void setJSDOMWindowHTMLAppletElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLAppletElement"), value);
}

void setJSDOMWindowHTMLAreaElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLAreaElement"), value);
}

void setJSDOMWindowHTMLBRElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLBRElement"), value);
}

void setJSDOMWindowHTMLBaseElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLBaseElement"), value);
}

void setJSDOMWindowHTMLBaseFontElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLBaseFontElement"), value);
}

void setJSDOMWindowHTMLBlockquoteElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLBlockquoteElement"), value);
}

void setJSDOMWindowHTMLBodyElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLBodyElement"), value);
}

void setJSDOMWindowHTMLButtonElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLButtonElement"), value);
}

void setJSDOMWindowHTMLCanvasElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLCanvasElement"), value);
}

void setJSDOMWindowHTMLDataGridElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridElement"), value);
}

void setJSDOMWindowHTMLDataGridCellElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridCellElement"), value);
}

void setJSDOMWindowHTMLDataGridColElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridColElement"), value);
}

void setJSDOMWindowHTMLDListElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDListElement"), value);
}

void setJSDOMWindowHTMLDirectoryElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDirectoryElement"), value);
}

void setJSDOMWindowHTMLDivElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDivElement"), value);
}

void setJSDOMWindowHTMLEmbedElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLEmbedElement"), value);
}

void setJSDOMWindowHTMLFieldSetElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLFieldSetElement"), value);
}

void setJSDOMWindowHTMLFontElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLFontElement"), value);
}

void setJSDOMWindowHTMLFormElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLFormElement"), value);
}

void setJSDOMWindowHTMLFrameElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLFrameElement"), value);
}

void setJSDOMWindowHTMLFrameSetElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLFrameSetElement"), value);
}

void setJSDOMWindowHTMLHRElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLHRElement"), value);
}

void setJSDOMWindowHTMLHeadElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLHeadElement"), value);
}

void setJSDOMWindowHTMLHeadingElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLHeadingElement"), value);
}

void setJSDOMWindowHTMLHtmlElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLHtmlElement"), value);
}

void setJSDOMWindowHTMLIFrameElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLIFrameElement"), value);
}

void setJSDOMWindowHTMLImageElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLImageElement"), value);
}

void setJSDOMWindowHTMLInputElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLInputElement"), value);
}

void setJSDOMWindowHTMLIsIndexElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLIsIndexElement"), value);
}

void setJSDOMWindowHTMLLIElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLLIElement"), value);
}

void setJSDOMWindowHTMLLabelElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLLabelElement"), value);
}

void setJSDOMWindowHTMLLegendElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLLegendElement"), value);
}

void setJSDOMWindowHTMLLinkElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLLinkElement"), value);
}

void setJSDOMWindowHTMLMapElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLMapElement"), value);
}

void setJSDOMWindowHTMLMarqueeElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLMarqueeElement"), value);
}

void setJSDOMWindowHTMLMenuElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLMenuElement"), value);
}

void setJSDOMWindowHTMLMetaElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLMetaElement"), value);
}

void setJSDOMWindowHTMLModElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLModElement"), value);
}

void setJSDOMWindowHTMLOListElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLOListElement"), value);
}

void setJSDOMWindowHTMLObjectElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLObjectElement"), value);
}

void setJSDOMWindowHTMLOptGroupElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLOptGroupElement"), value);
}

void setJSDOMWindowHTMLOptionElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLOptionElement"), value);
}

void setJSDOMWindowHTMLParagraphElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLParagraphElement"), value);
}

void setJSDOMWindowHTMLParamElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLParamElement"), value);
}

void setJSDOMWindowHTMLPreElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLPreElement"), value);
}

void setJSDOMWindowHTMLQuoteElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLQuoteElement"), value);
}

void setJSDOMWindowHTMLScriptElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLScriptElement"), value);
}

void setJSDOMWindowHTMLSelectElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLSelectElement"), value);
}

void setJSDOMWindowHTMLStyleElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLStyleElement"), value);
}

void setJSDOMWindowHTMLTableCaptionElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTableCaptionElement"), value);
}

void setJSDOMWindowHTMLTableCellElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTableCellElement"), value);
}

void setJSDOMWindowHTMLTableColElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTableColElement"), value);
}

void setJSDOMWindowHTMLTableElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTableElement"), value);
}

void setJSDOMWindowHTMLTableRowElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTableRowElement"), value);
}

void setJSDOMWindowHTMLTableSectionElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTableSectionElement"), value);
}

void setJSDOMWindowHTMLTextAreaElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTextAreaElement"), value);
}

void setJSDOMWindowHTMLTitleElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLTitleElement"), value);
}

void setJSDOMWindowHTMLUListElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLUListElement"), value);
}

void setJSDOMWindowHTMLCollectionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLCollection"), value);
}

void setJSDOMWindowHTMLAllCollectionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLAllCollection"), value);
}

void setJSDOMWindowImageConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Image"), value);
}

void setJSDOMWindowOptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Option"), value);
}

void setJSDOMWindowCanvasRenderingContext2DConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasRenderingContext2D"), value);
}

void setJSDOMWindowCanvasRenderingContext3DConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasRenderingContext3D"), value);
}

void setJSDOMWindowTextMetricsConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "TextMetrics"), value);
}

void setJSDOMWindowCanvasArrayBufferConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasArrayBuffer"), value);
}

void setJSDOMWindowCanvasByteArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasByteArray"), value);
}

void setJSDOMWindowCanvasUnsignedByteArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasUnsignedByteArray"), value);
}

void setJSDOMWindowCanvasShortArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasShortArray"), value);
}

void setJSDOMWindowCanvasUnsignedShortArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasUnsignedShortArray"), value);
}

void setJSDOMWindowCanvasIntArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasIntArray"), value);
}

void setJSDOMWindowCanvasUnsignedIntArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasUnsignedIntArray"), value);
}

void setJSDOMWindowCanvasFloatArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "CanvasFloatArray"), value);
}

void setJSDOMWindowEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Event"), value);
}

void setJSDOMWindowBeforeLoadEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "BeforeLoadEvent"), value);
}

void setJSDOMWindowKeyboardEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "KeyboardEvent"), value);
}

void setJSDOMWindowMouseEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MouseEvent"), value);
}

void setJSDOMWindowMutationEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MutationEvent"), value);
}

void setJSDOMWindowOverflowEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "OverflowEvent"), value);
}

void setJSDOMWindowPageTransitionEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "PageTransitionEvent"), value);
}

void setJSDOMWindowProgressEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "ProgressEvent"), value);
}

void setJSDOMWindowTextEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "TextEvent"), value);
}

void setJSDOMWindowUIEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "UIEvent"), value);
}

void setJSDOMWindowWebKitAnimationEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitAnimationEvent"), value);
}

void setJSDOMWindowWebKitTransitionEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitTransitionEvent"), value);
}

void setJSDOMWindowWheelEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WheelEvent"), value);
}

void setJSDOMWindowMessageEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessageEvent"), value);
}

void setJSDOMWindowEventExceptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "EventException"), value);
}

void setJSDOMWindowWebKitCSSKeyframeRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitCSSKeyframeRule"), value);
}

void setJSDOMWindowWebKitCSSKeyframesRuleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitCSSKeyframesRule"), value);
}

void setJSDOMWindowWebKitCSSMatrixConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitCSSMatrix"), value);
}

void setJSDOMWindowWebKitPointConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "WebKitPoint"), value);
}

void setJSDOMWindowClipboardConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Clipboard"), value);
}

void setJSDOMWindowFileConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "File"), value);
}

void setJSDOMWindowFileListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "FileList"), value);
}

void setJSDOMWindowNodeFilterConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "NodeFilter"), value);
}

void setJSDOMWindowRangeConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Range"), value);
}

void setJSDOMWindowRangeExceptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "RangeException"), value);
}

void setJSDOMWindowEventSourceConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "EventSource"), value);
}

void setJSDOMWindowXMLDocumentConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLDocument"), value);
}

void setJSDOMWindowDOMParserConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "DOMParser"), value);
}

void setJSDOMWindowXMLSerializerConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLSerializer"), value);
}

void setJSDOMWindowXMLHttpRequestConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLHttpRequest"), value);
}

void setJSDOMWindowXMLHttpRequestUploadConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLHttpRequestUpload"), value);
}

void setJSDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLHttpRequestException"), value);
}

void setJSDOMWindowXSLTProcessorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XSLTProcessor"), value);
}

void setJSDOMWindowMessagePortConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessagePort"), value);
}

void setJSDOMWindowMessageChannelConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessageChannel"), value);
}

void setJSDOMWindowWorkerConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Worker"), value);
}

void setJSDOMWindowSharedWorkerConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SharedWorker"), value);
}

void setJSDOMWindowPluginConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Plugin"), value);
}

void setJSDOMWindowPluginArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "PluginArray"), value);
}

void setJSDOMWindowMimeTypeConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MimeType"), value);
}

void setJSDOMWindowMimeTypeArrayConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MimeTypeArray"), value);
}

void setJSDOMWindowClientRectConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "ClientRect"), value);
}

void setJSDOMWindowClientRectListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "ClientRectList"), value);
}

void setJSDOMWindowStorageConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Storage"), value);
}

void setJSDOMWindowStorageEventConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "StorageEvent"), value);
}

void setJSDOMWindowAudioConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Audio"), value);
}

void setJSDOMWindowHTMLAudioElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLAudioElement"), value);
}

void setJSDOMWindowHTMLMediaElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLMediaElement"), value);
}

void setJSDOMWindowHTMLVideoElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLVideoElement"), value);
}

void setJSDOMWindowMediaErrorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MediaError"), value);
}

void setJSDOMWindowXPathEvaluatorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XPathEvaluator"), value);
}

void setJSDOMWindowXPathResultConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XPathResult"), value);
}

void setJSDOMWindowXPathExceptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XPathException"), value);
}

void setJSDOMWindowSVGAngleConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGAngle"), value);
}

void setJSDOMWindowSVGColorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGColor"), value);
}

void setJSDOMWindowSVGExceptionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGException"), value);
}

void setJSDOMWindowSVGGradientElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGGradientElement"), value);
}

void setJSDOMWindowSVGLengthConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGLength"), value);
}

void setJSDOMWindowSVGMarkerElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGMarkerElement"), value);
}

void setJSDOMWindowSVGPaintConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGPaint"), value);
}

void setJSDOMWindowSVGPathSegConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGPathSeg"), value);
}

void setJSDOMWindowSVGPreserveAspectRatioConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGPreserveAspectRatio"), value);
}

void setJSDOMWindowSVGRenderingIntentConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGRenderingIntent"), value);
}

void setJSDOMWindowSVGTextContentElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGTextContentElement"), value);
}

void setJSDOMWindowSVGTextPathElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGTextPathElement"), value);
}

void setJSDOMWindowSVGTransformConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGTransform"), value);
}

void setJSDOMWindowSVGUnitTypesConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
    if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
        return;
    // Shadowing a built-in constructor
    static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "SVGUnitTypes"), value);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetSelection(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSelection()));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionFocus(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->focus();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionBlur(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->blur();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionClose(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->close();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionPrint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->print();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionStop(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->stop();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionOpen(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->open(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionShowModalDialog(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->showModalDialog(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionAlert(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    const UString& message = args.at(0).toString(exec);

    imp->alert(message);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionConfirm(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    const UString& message = args.at(0).toString(exec);


    JSC::JSValue result = jsBoolean(imp->confirm(message));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionPrompt(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    const UString& message = args.at(0).toString(exec);
    const UString& defaultValue = valueToStringWithUndefinedOrNullCheck(exec, args.at(1));


    JSC::JSValue result = jsStringOrNull(exec, imp->prompt(message, defaultValue));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionFind(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    const UString& string = args.at(0).toString(exec);
    bool caseSensitive = args.at(1).toBoolean(exec);
    bool backwards = args.at(2).toBoolean(exec);
    bool wrap = args.at(3).toBoolean(exec);
    bool wholeWord = args.at(4).toBoolean(exec);
    bool searchInFrames = args.at(5).toBoolean(exec);
    bool showDialog = args.at(6).toBoolean(exec);


    JSC::JSValue result = jsBoolean(imp->find(string, caseSensitive, backwards, wrap, wholeWord, searchInFrames, showDialog));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionScrollBy(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    int x = args.at(0).toInt32(exec);
    int y = args.at(1).toInt32(exec);

    imp->scrollBy(x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionScrollTo(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    int x = args.at(0).toInt32(exec);
    int y = args.at(1).toInt32(exec);

    imp->scrollTo(x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionScroll(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    int x = args.at(0).toInt32(exec);
    int y = args.at(1).toInt32(exec);

    imp->scroll(x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionMoveBy(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    float x = args.at(0).toFloat(exec);
    float y = args.at(1).toFloat(exec);

    imp->moveBy(x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionMoveTo(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    float x = args.at(0).toFloat(exec);
    float y = args.at(1).toFloat(exec);

    imp->moveTo(x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionResizeBy(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    float x = args.at(0).toFloat(exec);
    float y = args.at(1).toFloat(exec);

    imp->resizeBy(x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionResizeTo(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    if (args.size() < 2)
        return jsUndefined();
    float width = args.at(0).toFloat(exec);
    float height = args.at(1).toFloat(exec);

    imp->resizeTo(width, height);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetComputedStyle(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    Element* element = toElement(args.at(0));
    const UString& pseudoElement = args.at(1).toString(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getComputedStyle(element, pseudoElement)));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetMatchedCSSRules(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    Element* element = toElement(args.at(0));
    const UString& pseudoElement = args.at(1).toString(exec);

    int argsCount = args.size();
    if (argsCount < 3) {

        JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement)));
        return result;
    }

    bool authorOnly = args.at(2).toBoolean(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement, authorOnly)));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionWebkitConvertPointFromPageToNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    Node* node = toNode(args.at(0));
    WebKitPoint* p = toWebKitPoint(args.at(1));


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->webkitConvertPointFromPageToNode(node, p)));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionWebkitConvertPointFromNodeToPage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    Node* node = toNode(args.at(0));
    WebKitPoint* p = toWebKitPoint(args.at(1));


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->webkitConvertPointFromNodeToPage(node, p)));
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionOpenDatabase(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    ExceptionCode ec = 0;
    const UString& name = args.at(0).toString(exec);
    const UString& version = args.at(1).toString(exec);
    const UString& displayName = args.at(2).toString(exec);
    unsigned estimatedSize = args.at(3).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->openDatabase(name, version, displayName, estimatedSize, ec)));
    setDOMException(exec, ec);
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionPostMessage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    return castedThisObj->postMessage(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionSetTimeout(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->setTimeout(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionClearTimeout(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    int handle = args.at(0).toInt32(exec);

    imp->clearTimeout(handle);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionSetInterval(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->setInterval(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionClearInterval(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    int handle = args.at(0).toInt32(exec);

    imp->clearInterval(handle);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionAtob(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->atob(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionBtoa(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->btoa(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->addEventListener(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionRemoveEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    return castedThisObj->removeEventListener(exec, args);
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionDispatchEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
    ExceptionCode ec = 0;
    Event* evt = toEvent(args.at(0));


    JSC::JSValue result = jsBoolean(imp->dispatchEvent(evt, ec));
    setDOMException(exec, ec);
    return result;
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionCaptureEvents(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->captureEvents();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionReleaseEvents(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    JSDOMWindow* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));
    if (!castedThisObj)
        return throwError(exec, TypeError);
    if (!castedThisObj->allowsAccessFrom(exec))
        return jsUndefined();
    DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());

    imp->releaseEvents();
    return jsUndefined();
}


}
