[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

eric at webkit.org eric at webkit.org
Thu Feb 4 21:24:57 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 8cd40cd55c242fc6c743b098d111b89f6826e656
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 22 19:09:47 2010 +0000

    2010-01-22  Kent Hansen  <kent.hansen at nokia.com>
    
            Reviewed by Darin Adler.
    
            Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain
            https://bugs.webkit.org/show_bug.cgi?id=33948
    
            Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(),
            that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor().
    
            This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().
    
            Test: fast/dom/Window/window-property-descriptors.html
    
            * bindings/js/JSDOMWindowCustom.cpp:
            (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53706 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js b/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js
new file mode 100644
index 0000000..ef61351
--- /dev/null
+++ b/LayoutTests/fast/dom/Window/script-tests/window-property-descriptors.js
@@ -0,0 +1,56 @@
+description("Test Object.getOwnPropertyDescriptor on window object.");
+
+var __skip__ = {
+    "__skip__" : 1,
+    "opener" : 1, // Work around DumpRenderTree bug where previous tests add window properties
+    "Components" : 1, // Work around Firefox exception
+
+    // Don't log DumpRenderTree injected objects
+    "layoutTestController" : 1, // Work around http://bugs.webkit.org/show_bug.cgi?id=11373
+    "GCController" : 1,
+    "accessibilityController" : 1,
+    "appleScriptController" : 1,
+    "eventSender" : 1,
+    "navigationController" : 1,
+    "objCController" : 1,
+    "objCPlugin" : 1,
+    "objCPluginFunction" : 1,
+    "plainText" : 1,
+    "textInputController" : 1,
+    // Ignore these properties because they do not exist in all implementations. They will be tested separately
+    "WebGLRenderingContext" : 1,
+    "WebGLArrayBuffer" : 1,
+    "WebGLByteArray" : 1,
+    "WebGLFloatArray" : 1,
+    "WebGLIntArray" : 1,
+    "WebGLShortArray" : 1,
+    "WebGLUnsignedByteArray" : 1,
+    "WebGLUnsignedIntArray" : 1,
+    "WebGLUnsignedShortArray" : 1
+};
+
+var windowPropertyNames = Object.getOwnPropertyNames(window)
+    .filter(function(name) { return !__skip__[name]; })
+    .sort();
+
+for (var i = 0; i < windowPropertyNames.length; ++i)
+    shouldBe("typeof Object.getOwnPropertyDescriptor(window, '" + windowPropertyNames[i] + "')", "'object'");
+
+// Properties in the prototype should not return descriptors
+
+var protoPropertySet = {};
+for (var o = window.__proto__; o; o = o.__proto__) {
+    var names = Object.getOwnPropertyNames(o);
+    for (var i = 0; i < names.length; ++i)
+        protoPropertySet[names[i]] = true;
+}
+
+var protoPropertyNames = [];
+for (var name in protoPropertySet)
+    protoPropertyNames.push(name);
+protoPropertyNames.sort();
+
+for (var i = 0; i < protoPropertyNames.length; ++i)
+    shouldBeUndefined("Object.getOwnPropertyDescriptor(window, '" + protoPropertyNames[i] + "')");
+
+var successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt b/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt
new file mode 100644
index 0000000..950fcb4
--- /dev/null
+++ b/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt
@@ -0,0 +1,517 @@
+Test Object.getOwnPropertyDescriptor on window object.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Array') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Attr') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Audio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'BeforeLoadEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Boolean') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CDATASection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSCharsetRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSFontFaceRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSImportRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSMediaRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSPageRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSPrimitiveValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSRuleList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleDeclaration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleSheet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSValueList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSVariablesDeclaration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSVariablesRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CanvasRenderingContext2D') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CharacterData') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ClientRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ClientRectList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Clipboard') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Comment') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Counter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMImplementation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMParser') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Date') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Document') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DocumentFragment') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DocumentType') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Element') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Entity') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EntityReference') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Error') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EvalError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Event') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EventException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EventSource') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'File') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'FileList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Function') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAllCollection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAnchorElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAppletElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAreaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAudioElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBaseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBaseFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBlockquoteElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBodyElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLButtonElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLCanvasElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLCollection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDirectoryElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDivElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLEmbedElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFieldSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFormElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFrameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFrameSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHeadElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHeadingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHtmlElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLIFrameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLInputElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLIsIndexElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLIElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLabelElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLegendElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLinkElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMapElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMarqueeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMediaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMenuElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMetaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLModElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLObjectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOptGroupElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOptionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLParagraphElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLParamElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLPreElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLQuoteElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLScriptElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLSelectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLStyleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableCaptionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableCellElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableColElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableRowElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableSectionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTextAreaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTitleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLUListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLVideoElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Image') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Infinity') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'JSON') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'KeyboardEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Math') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MediaError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MediaList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessageChannel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessageEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessagePort') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MimeType') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MimeTypeArray') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MouseEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MutationEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NamedNodeMap') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Node') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NodeFilter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NodeList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Notation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Number') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Object') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Option') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'OverflowEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'PageTransitionEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Plugin') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'PluginArray') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ProcessingInstruction') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ProgressEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RGBColor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Range') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RangeError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RangeException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Rect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ReferenceError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RegExp') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAltGlyphElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAngle') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimateColorElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimateElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimateTransformElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedAngle') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedBoolean') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedEnumeration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedInteger') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedLength') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedLengthList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedNumber') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedNumberList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedPreserveAspectRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedString') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedTransformList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGCircleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGClipPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGColor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGComponentTransferFunctionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGCursorElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGDefsElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGDescElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGElementInstance') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGElementInstanceList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGEllipseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEBlendElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEColorMatrixElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEComponentTransferElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFECompositeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEDiffuseLightingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEDisplacementMapElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEDistantLightElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFloodElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncAElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncBElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEGaussianBlurElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEMergeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEMergeNodeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEMorphologyElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEOffsetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEPointLightElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFESpecularLightingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFESpotLightElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFETileElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFETurbulenceElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFilterElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFontFaceElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFontFaceFormatElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFontFaceNameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFontFaceSrcElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFontFaceUriElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGForeignObjectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGGlyphElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLength') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLengthList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLineElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLinearGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMarkerElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMaskElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMatrix') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMetadataElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMissingGlyphElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGNumber') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGNumberList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPaint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSeg') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegArcAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegArcRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegClosePath') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicSmoothAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicSmoothRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticSmoothAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticSmoothRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoHorizontalAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoHorizontalRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoVerticalAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoVerticalRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegMovetoAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegMovetoRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPatternElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPoint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPointList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPolygonElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPolylineElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPreserveAspectRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRadialGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRenderingIntent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSVGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGScriptElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGStopElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGStringList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGStyleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSwitchElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSymbolElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTRefElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTSpanElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextContentElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextPositioningElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTitleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTransform') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTransformList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGUnitTypes') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGUseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGViewElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGZoomEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SharedWorker') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Storage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StorageEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'String') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StyleSheet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StyleSheetList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SyntaxError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Text') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TextEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TextMetrics') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TypeError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'UIEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'URIError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitAnimationEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframeRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframesRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSMatrix') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSTransformValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitPoint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitTransitionEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebSocket') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WheelEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Worker') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequest') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequestException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequestUpload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLSerializer') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathEvaluator') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathResult') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XSLTProcessor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'applicationCache') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'areArraysEqual') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'clientInformation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'closed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'console') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'crypto') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'debug') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURI') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURIComponent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'defaultStatus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'defaultstatus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'description') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'devicePixelRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'document') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'encodeURI') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'encodeURIComponent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'escape') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'escapeHTML') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'eval') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'evalAndLog') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'event') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'frameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'frames') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'gc') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'history') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'i') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'innerHeight') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'innerWidth') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isFinite') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isMinusZero') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isNaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isResultCorrect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'length') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'localStorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'location') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'locationbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'media') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'menubar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'name') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'names') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'navigator') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'o') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'offscreenBuffering') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onabort') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onbeforeunload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onblur') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncanplay') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncanplaythrough') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onclick') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncontextmenu') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondblclick') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondrag') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragenter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragleave') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragover') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondrop') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondurationchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onemptied') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onended') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onerror') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onfocus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onhashchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oninput') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oninvalid') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeydown') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeypress') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeyup') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadeddata') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadedmetadata') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmessage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousedown') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousemove') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseout') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseover') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseup') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousewheel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onoffline') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ononline') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpagehide') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpageshow') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpause') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onplay') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onplaying') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpopstate') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onprogress') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onratechange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onreset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onresize') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onscroll') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsearch') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onseeked') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onseeking') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onselect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onstalled') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onstorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsubmit') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsuspend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontimeupdate') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onunload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onvolumechange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwaiting') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationiteration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkittransitionend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'outerHeight') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'outerWidth') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'pageXOffset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'pageYOffset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parseFloat') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parseInt') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'personalbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'protoPropertyNames') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'protoPropertySet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screen') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenLeft') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenTop') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenX') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenY') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollX') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollY') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollbars') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'self') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'sessionStorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBe') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeEqualToString') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeFalse') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNonNull') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNonZero') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNull') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeTrue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeUndefined') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldEvaluateTo') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldThrow') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'status') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'statusbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'stringify') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'successfullyParsed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'testFailed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'testPassed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'toolbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'top') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'undefined') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'unescape') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'window') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'windowPropertyNames') is 'object'
+PASS Object.getOwnPropertyDescriptor(window, '__defineGetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__defineSetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__lookupGetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__lookupSetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'addEventListener') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'alert') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'atob') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'blur') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'btoa') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'captureEvents') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'clearInterval') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'clearTimeout') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'close') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'confirm') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'constructor') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'dispatchEvent') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'find') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'focus') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getComputedStyle') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getMatchedCSSRules') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getSelection') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'hasOwnProperty') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'isPrototypeOf') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'moveBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'moveTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'open') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'openDatabase') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'postMessage') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'print') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'prompt') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'propertyIsEnumerable') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'releaseEvents') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'removeEventListener') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'resizeBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'resizeTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scroll') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scrollBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scrollTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'setInterval') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'setTimeout') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'showModalDialog') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'stop') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'toLocaleString') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'toString') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'valueOf') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'webkitConvertPointFromNodeToPage') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'webkitConvertPointFromPageToNode') is undefined.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/Window/window-property-descriptors.html b/LayoutTests/fast/dom/Window/window-property-descriptors.html
new file mode 100644
index 0000000..e4e0b13
--- /dev/null
+++ b/LayoutTests/fast/dom/Window/window-property-descriptors.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/window-property-descriptors.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt b/LayoutTests/platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt
new file mode 100644
index 0000000..3c5aed6
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt
@@ -0,0 +1,400 @@
+Test Object.getOwnPropertyDescriptor on window object.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Array') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Attr') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Audio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Boolean') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CDATASection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSCharsetRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSFontFaceRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSImportRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSMediaRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSPageRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSPrimitiveValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSRuleList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleDeclaration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleSheet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSValueList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSVariablesDeclaration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSVariablesRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CanvasRenderingContext2D') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CharacterData') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ClientRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ClientRectList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Clipboard') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Comment') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Counter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMImplementation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMParser') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Date') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Document') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DocumentFragment') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DocumentType') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Element') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Entity') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EntityReference') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Error') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EvalError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Event') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EventException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EventSource') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'File') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'FileList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Function') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAnchorElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAppletElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAreaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAudioElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBaseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBaseFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBlockquoteElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBodyElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLButtonElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLCanvasElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLCollection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDataGridCellElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDataGridColElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDataGridElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDirectoryElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDivElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLEmbedElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFieldSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFormElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFrameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFrameSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHeadElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHeadingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHtmlElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLIFrameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLInputElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLIsIndexElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLIElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLabelElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLegendElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLinkElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMapElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMarqueeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMediaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMenuElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMetaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLModElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLObjectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOptGroupElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOptionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLParagraphElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLParamElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLPreElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLQuoteElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLScriptElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLSelectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLStyleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableCaptionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableCellElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableColElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableRowElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableSectionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTextAreaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTitleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLUListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLVideoElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Image') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Infinity') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'JSON') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'KeyboardEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Math') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MediaError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MediaList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessageChannel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessageEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessagePort') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MimeType') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MimeTypeArray') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MouseEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MutationEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NamedNodeMap') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Node') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NodeFilter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NodeList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Notation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Number') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Object') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Option') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'OverflowEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'PageTransitionEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Plugin') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'PluginArray') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ProcessingInstruction') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ProgressEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RGBColor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Range') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RangeError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RangeException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Rect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ReferenceError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RegExp') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAngle') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGColor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLength') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMarkerElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPaint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSeg') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPreserveAspectRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRenderingIntent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextContentElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTransform') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGUnitTypes') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SharedWorker') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Storage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StorageEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'String') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StyleSheet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StyleSheetList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SyntaxError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Text') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TextEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TextMetrics') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TypeError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'UIEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'URIError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitAnimationEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframeRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframesRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSMatrix') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSTransformValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitPoint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitTransitionEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebSocket') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WheelEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Worker') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequest') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequestException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequestUpload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLSerializer') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathEvaluator') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathResult') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XSLTProcessor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'applicationCache') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'areArraysEqual') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'clientInformation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'closed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'console') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'crypto') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'debug') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURI') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURIComponent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'defaultStatus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'defaultstatus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'description') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'devicePixelRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'document') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'encodeURI') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'encodeURIComponent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'escape') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'escapeHTML') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'eval') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'evalAndLog') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'event') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'frameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'frames') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'gc') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'history') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'i') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'innerHeight') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'innerWidth') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isFinite') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isMinusZero') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isNaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isResultCorrect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'length') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'localStorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'location') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'locationbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'media') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'menubar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'name') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'names') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'navigator') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'o') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'offscreenBuffering') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onabort') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onbeforeunload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onblur') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncanplay') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncanplaythrough') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onclick') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncontextmenu') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondblclick') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondrag') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragenter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragleave') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragover') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondrop') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondurationchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onemptied') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onended') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onerror') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onfocus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onhashchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oninput') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oninvalid') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeydown') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeypress') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeyup') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadeddata') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadedmetadata') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmessage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousedown') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousemove') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseout') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseover') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseup') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousewheel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onoffline') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ononline') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpagehide') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpageshow') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpause') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onplay') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onplaying') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onprogress') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onratechange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onreset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onresize') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onscroll') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsearch') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onseeked') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onseeking') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onselect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onstalled') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onstorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsubmit') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsuspend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontimeupdate') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onunload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onvolumechange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwaiting') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationiteration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkittransitionend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'outerHeight') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'outerWidth') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'pageXOffset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'pageYOffset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parseFloat') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parseInt') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'personalbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'protoPropertyNames') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'protoPropertySet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screen') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenLeft') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenTop') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenX') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenY') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollX') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollY') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollbars') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'self') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'sessionStorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBe') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeEqualToString') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeFalse') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNonNull') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNonZero') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNull') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeTrue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeUndefined') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldEvaluateTo') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldThrow') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'status') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'statusbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'stringify') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'successfullyParsed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'testFailed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'testPassed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'toolbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'top') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'undefined') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'unescape') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'window') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'windowPropertyNames') is 'object'
+PASS Object.getOwnPropertyDescriptor(window, '__defineGetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__defineSetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__lookupGetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__lookupSetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'addEventListener') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'alert') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'atob') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'blur') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'btoa') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'captureEvents') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'clearInterval') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'clearTimeout') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'close') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'confirm') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'constructor') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'dispatchEvent') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'find') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'focus') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getComputedStyle') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getMatchedCSSRules') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getSelection') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'hasOwnProperty') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'isPrototypeOf') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'moveBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'moveTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'open') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'openDatabase') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'postMessage') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'print') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'prompt') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'propertyIsEnumerable') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'releaseEvents') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'removeEventListener') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'resizeBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'resizeTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scroll') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scrollBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scrollTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'setInterval') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'setTimeout') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'showModalDialog') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'stop') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'toLocaleString') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'toString') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'valueOf') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'webkitConvertPointFromNodeToPage') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'webkitConvertPointFromPageToNode') is undefined.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/qt/fast/dom/Window/window-property-descriptors-expected.txt b/LayoutTests/platform/qt/fast/dom/Window/window-property-descriptors-expected.txt
new file mode 100644
index 0000000..d744ee9
--- /dev/null
+++ b/LayoutTests/platform/qt/fast/dom/Window/window-property-descriptors-expected.txt
@@ -0,0 +1,508 @@
+Test Object.getOwnPropertyDescriptor on window object.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Array') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Attr') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Audio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'BeforeLoadEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Boolean') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CDATASection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSCharsetRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSFontFaceRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSImportRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSMediaRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSPageRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSPrimitiveValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSRuleList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleDeclaration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSStyleSheet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSValueList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSVariablesDeclaration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CSSVariablesRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CanvasRenderingContext2D') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'CharacterData') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ClientRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ClientRectList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Clipboard') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Comment') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Counter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMImplementation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DOMParser') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Date') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Document') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DocumentFragment') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'DocumentType') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Element') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Entity') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EntityReference') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Error') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EvalError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Event') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EventException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'EventSource') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'File') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'FileList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Function') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAllCollection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAnchorElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAppletElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAreaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLAudioElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBaseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBaseFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBlockquoteElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLBodyElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLButtonElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLCanvasElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLCollection') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDirectoryElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDivElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLEmbedElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFieldSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFontElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFormElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFrameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLFrameSetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHeadElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHeadingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLHtmlElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLIFrameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLInputElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLIsIndexElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLIElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLabelElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLegendElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLLinkElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMapElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMarqueeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMediaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMenuElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLMetaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLModElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLObjectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOptGroupElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLOptionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLParagraphElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLParamElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLPreElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLQuoteElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLScriptElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLSelectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLStyleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableCaptionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableCellElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableColElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableRowElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTableSectionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTextAreaElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLTitleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLUListElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'HTMLVideoElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Image') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Infinity') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'JSON') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'KeyboardEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Math') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MediaError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MediaList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessageChannel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessageEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MessagePort') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MimeType') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MimeTypeArray') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MouseEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'MutationEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NamedNodeMap') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Node') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NodeFilter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'NodeList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Notation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Number') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Object') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Option') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'OverflowEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'PageTransitionEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Plugin') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'PluginArray') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ProcessingInstruction') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ProgressEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RGBColor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Range') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RangeError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RangeException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Rect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ReferenceError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'RegExp') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAngle') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedAngle') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedBoolean') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedEnumeration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedInteger') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedLength') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedLengthList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedNumber') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedNumberList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedPreserveAspectRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedString') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGAnimatedTransformList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGCircleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGClipPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGColor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGComponentTransferFunctionElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGCursorElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGDefsElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGDescElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGElementInstance') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGElementInstanceList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGEllipseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEBlendElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEColorMatrixElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEComponentTransferElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFECompositeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEDiffuseLightingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEDisplacementMapElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEDistantLightElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFloodElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncAElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncBElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEFuncRElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEGaussianBlurElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEMergeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEMergeNodeElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEMorphologyElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEOffsetElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFEPointLightElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFESpecularLightingElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFESpotLightElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFETileElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFETurbulenceElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGFilterElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGImageElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLength') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLengthList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLineElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGLinearGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMarkerElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMaskElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMatrix') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGMetadataElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGNumber') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGNumberList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPaint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSeg') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegArcAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegArcRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegClosePath') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicSmoothAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoCubicSmoothRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticSmoothAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegCurvetoQuadraticSmoothRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoHorizontalAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoHorizontalRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoVerticalAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegLinetoVerticalRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegMovetoAbs') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPathSegMovetoRel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPatternElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPoint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPointList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPolygonElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPolylineElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGPreserveAspectRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRadialGradientElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRectElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGRenderingIntent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSVGElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGScriptElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGStopElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGStringList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGStyleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSwitchElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGSymbolElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTRefElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTSpanElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextContentElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextPathElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTextPositioningElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTitleElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTransform') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGTransformList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGUnitTypes') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGUseElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGViewElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SVGZoomEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SharedWorker') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Storage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StorageEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'String') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StyleSheet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'StyleSheetList') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'SyntaxError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Text') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TextEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TextMetrics') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TouchEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'TypeError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'UIEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'URIError') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitAnimationEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframeRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframesRule') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSMatrix') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSTransformValue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitPoint') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitTransitionEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WebSocket') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'WheelEvent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'Worker') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLDocument') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequest') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequestException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLHttpRequestUpload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XMLSerializer') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathEvaluator') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathException') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XPathResult') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'XSLTProcessor') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'applicationCache') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'areArraysEqual') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'clientInformation') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'closed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'console') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'crypto') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'debug') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURI') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'decodeURIComponent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'defaultStatus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'defaultstatus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'description') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'devicePixelRatio') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'document') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'encodeURI') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'encodeURIComponent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'escape') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'escapeHTML') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'eval') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'evalAndLog') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'event') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'frameElement') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'frames') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'gc') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'history') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'i') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'innerHeight') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'innerWidth') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isFinite') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isMinusZero') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isNaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'isResultCorrect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'length') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'localStorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'location') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'locationbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'media') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'menubar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'name') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'names') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'navigator') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'o') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'offscreenBuffering') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onabort') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onbeforeunload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onblur') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncanplay') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncanplaythrough') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onclick') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oncontextmenu') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondblclick') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondrag') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragenter') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragleave') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragover') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondragstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondrop') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ondurationchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onemptied') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onended') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onerror') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onfocus') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onhashchange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oninput') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'oninvalid') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeydown') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeypress') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onkeyup') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadeddata') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadedmetadata') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onloadstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmessage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousedown') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousemove') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseout') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseover') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmouseup') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onmousewheel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onoffline') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ononline') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpagehide') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpageshow') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpause') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onplay') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onplaying') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onpopstate') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onprogress') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onratechange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onreset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onresize') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onscroll') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsearch') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onseeked') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onseeking') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onselect') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onstalled') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onstorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsubmit') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onsuspend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontimeupdate') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontouchcancel') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontouchend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontouchmove') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'ontouchstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onunload') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onvolumechange') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwaiting') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationiteration') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkitanimationstart') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'onwebkittransitionend') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'outerHeight') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'outerWidth') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'pageXOffset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'pageYOffset') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parent') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parseFloat') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'parseInt') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'personalbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'protoPropertyNames') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'protoPropertySet') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screen') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenLeft') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenTop') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenX') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'screenY') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollX') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollY') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'scrollbars') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'self') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'sessionStorage') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBe') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeEqualToString') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeFalse') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNaN') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNonNull') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNonZero') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeNull') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeTrue') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldBeUndefined') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldEvaluateTo') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'shouldThrow') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'status') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'statusbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'stringify') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'successfullyParsed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'testFailed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'testPassed') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'toolbar') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'top') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'undefined') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'unescape') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'window') is 'object'
+PASS typeof Object.getOwnPropertyDescriptor(window, 'windowPropertyNames') is 'object'
+PASS Object.getOwnPropertyDescriptor(window, '__defineGetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__defineSetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__lookupGetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, '__lookupSetter__') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'addEventListener') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'alert') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'atob') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'blur') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'btoa') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'captureEvents') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'clearInterval') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'clearTimeout') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'close') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'confirm') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'constructor') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'dispatchEvent') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'find') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'focus') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getComputedStyle') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getMatchedCSSRules') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'getSelection') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'hasOwnProperty') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'isPrototypeOf') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'moveBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'moveTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'open') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'openDatabase') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'postMessage') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'print') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'prompt') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'propertyIsEnumerable') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'releaseEvents') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'removeEventListener') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'resizeBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'resizeTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scroll') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scrollBy') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'scrollTo') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'setInterval') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'setTimeout') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'showModalDialog') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'stop') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'toLocaleString') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'toString') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'valueOf') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'webkitConvertPointFromNodeToPage') is undefined.
+PASS Object.getOwnPropertyDescriptor(window, 'webkitConvertPointFromPageToNode') is undefined.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 44ef54f..f3fb388 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-01-22  Kent Hansen  <kent.hansen at nokia.com>
+
+        Reviewed by Darin Adler.
+
+        Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain
+        https://bugs.webkit.org/show_bug.cgi?id=33948
+
+        Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(),
+        that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor().
+
+        This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().
+
+        Test: fast/dom/Window/window-property-descriptors.html
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
+
 2010-01-22  Girish Ramakrishnan  <girish at forwardbias.in>
 
         Reviewed by Simon Hausmann.
diff --git a/WebCore/bindings/js/JSDOMWindowCustom.cpp b/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 6f8d428..04e7151 100644
--- a/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -325,22 +325,6 @@ bool JSDOMWindow::getOwnPropertyDescriptor(ExecState* exec, const Identifier& pr
         return true;
     }
 
-    // We need this code here because otherwise JSDOMWindowBase will stop the search before we even get to the
-    // prototype due to the blanket same origin (allowsAccessFrom) check at the end of getOwnPropertySlot.
-    // Also, it's important to get the implementation straight out of the DOMWindow prototype regardless of
-    // what prototype is actually set on this object.
-    entry = JSDOMWindowPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
-    if (entry) {
-        if (entry->attributes() & Function) {
-            if (entry->function() == jsDOMWindowPrototypeFunctionShowModalDialog) {
-                if (!DOMWindow::canShowModalDialog(impl()->frame())) {
-                    descriptor.setUndefined();
-                    return true;
-                }
-            }
-        }
-    }
-    
     entry = JSDOMWindow::s_info.propHashTable(exec)->entry(exec, propertyName);
     if (entry) {
         PropertySlot slot;
@@ -361,14 +345,6 @@ bool JSDOMWindow::getOwnPropertyDescriptor(ExecState* exec, const Identifier& pr
         return true;
     }
     
-    // Do prototype lookup early so that functions and attributes in the prototype can have
-    // precedence over the index and name getters.  
-    JSValue proto = prototype();
-    if (proto.isObject()) {
-        if (asObject(proto)->getPropertyDescriptor(exec, propertyName, descriptor))
-            return true;
-    }
-
     bool ok;
     unsigned i = propertyName.toArrayIndex(&ok);
     if (ok && i < impl()->frame()->tree()->childCount()) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list