<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[185322] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/185322">185322</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2015-06-08 09:49:57 -0700 (Mon, 08 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Completely remove all IDB properties/constructors when it is disabled at runtime.
rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:

Source/WebCore:

Test: storage/indexeddb/properties-disabled-at-runtime.html

- Make constructors all runtime enabled.
- Remove autogeneration of the window.(webkit)indexedDB accessors.
- Add manual overrides for the (webkit)indexedDB accessors at runtime.

* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/IDBAny.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorWithValue.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBOpenDBRequest.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* page/DOMWindow.idl:

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowIndexedDB):
(WebCore::JSDOMWindow::getOwnPropertySlot):

Source/WebKit2:

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Enable IDB at runtime if it's enabled at compile time.

LayoutTests:

* platform/mac-mavericks/TestExpectations: Disable global-constructors-attributes on Mavericks as
  there is no way to have different WK1 and WK2 results.
* platform/mac-wk1/TestExpectations: Enable the new &quot;properties are missing&quot; test for Mac WK1.
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
* platform/win/TestExpectations: Enable the new &quot;properties are missing&quot; test for Win WK1
* platform/wk2/TestExpectations: Disable the new &quot;properties are missing&quot; test for all WK2.
* storage/indexeddb/properties-disabled-at-runtime-expected.txt: Added.
* storage/indexeddb/properties-disabled-at-runtime.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacmavericksTestExpectations">trunk/LayoutTests/platform/mac-mavericks/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1TestExpectations">trunk/LayoutTests/platform/mac-wk1/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwk2TestExpectations">trunk/LayoutTests/platform/wk2/TestExpectations</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonIdentifiersh">trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbDOMWindowIndexedDatabaseidl">trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBAnyidl">trunk/Source/WebCore/Modules/indexeddb/IDBAny.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBCursoridl">trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBCursorWithValueidl">trunk/Source/WebCore/Modules/indexeddb/IDBCursorWithValue.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseidl">trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBFactoryidl">trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBIndexidl">trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyRangeidl">trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBObjectStoreidl">trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBOpenDBRequestidl">trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBRequestidl">trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBTransactionidl">trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBVersionChangeEventidl">trunk/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowidl">trunk/Source/WebCore/page/DOMWindow.idl</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebProcesscpp">trunk/Source/WebKit2/WebProcess/WebProcess.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/platform/mac-wk1/js/</li>
<li>trunk/LayoutTests/platform/mac-wk1/js/dom/</li>
<li><a href="#trunkLayoutTestsplatformmacwk1jsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstorageindexeddbpropertiesdisabledatruntimeexpectedtxt">trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstorageindexeddbpropertiesdisabledatruntimehtml">trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/LayoutTests/ChangeLog        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2015-06-08  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Completely remove all IDB properties/constructors when it is disabled at runtime.
+        rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034
+
+        Reviewed by Geoffrey Garen.
+
+        * platform/mac-mavericks/TestExpectations: Disable global-constructors-attributes on Mavericks as
+          there is no way to have different WK1 and WK2 results.
+        * platform/mac-wk1/TestExpectations: Enable the new &quot;properties are missing&quot; test for Mac WK1.
+        * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
+        * platform/win/TestExpectations: Enable the new &quot;properties are missing&quot; test for Win WK1
+        * platform/wk2/TestExpectations: Disable the new &quot;properties are missing&quot; test for all WK2.
+        * storage/indexeddb/properties-disabled-at-runtime-expected.txt: Added.
+        * storage/indexeddb/properties-disabled-at-runtime.html: Added.
+
</ins><span class="cx"> 2015-06-08  Sergio Villar Senin  &lt;svillar@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [CSS Grid Layout] Add some more testing for grid line names
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmavericksTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-mavericks/TestExpectations (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-mavericks/TestExpectations        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/LayoutTests/platform/mac-mavericks/TestExpectations        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -18,3 +18,6 @@
</span><span class="cx"> platform/mac/fast/ruby/ruby-expansion-cjk-2.html [ Skip ]
</span><span class="cx"> platform/mac/fast/ruby/ruby-expansion-cjk-3.html [ Skip ]
</span><span class="cx"> platform/mac/fast/ruby/ruby-expansion-cjk-4.html [ Skip ]
</span><ins>+
+# Need to have Mavericks WK1 and Mavericks WK2 compare to different results which is not currently possible
+js/dom/global-constructors-attributes.html [ Skip ]
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk1TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk1/TestExpectations        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -41,9 +41,9 @@
</span><span class="cx"> ### START OF (2) Failures without bug reports
</span><span class="cx"> 
</span><span class="cx"> # IndexedDB is not yet enabled in Mac WK1
</span><ins>+storage/indexeddb
</ins><span class="cx"> fast/history/page-cache-indexed-closed-db.html
</span><span class="cx"> fast/history/page-cache-indexed-opened-db.html
</span><del>-storage/indexeddb
</del><span class="cx"> http/tests/security/cross-origin-indexeddb-allowed.html
</span><span class="cx"> http/tests/security/cross-origin-indexeddb.html
</span><span class="cx"> http/tests/security/cross-origin-worker-indexeddb-allowed.html
</span><span class="lines">@@ -52,6 +52,9 @@
</span><span class="cx"> crypto/subtle/rsa-indexeddb.html
</span><span class="cx"> crypto/subtle/rsa-indexeddb-non-exportable.html
</span><span class="cx"> 
</span><ins>+# But since it is disabled at runtime, we should make sure it is correctly disabled
+storage/indexeddb/properties-disabled-at-runtime.html [ Pass ]
+
</ins><span class="cx"> # Fails with WebKit1 only.
</span><span class="cx"> editing/secure-input/reset-state-on-navigation.html [ Failure ]
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk1jsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt (0 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt                                (rev 0)
+++ trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -0,0 +1,2084 @@
</span><ins>+Test to ensure that global constructors have the right attributes
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS Object.getOwnPropertyDescriptor(global, 'AnalyserNode').value is AnalyserNode
+PASS Object.getOwnPropertyDescriptor(global, 'AnalyserNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AnalyserNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AnalyserNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AnalyserNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AnimationEvent').value is AnimationEvent
+PASS Object.getOwnPropertyDescriptor(global, 'AnimationEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AnimationEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AnimationEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AnimationEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Attr').value is Attr
+PASS Object.getOwnPropertyDescriptor(global, 'Attr').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Attr').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Attr').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Attr').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Audio').value is Audio
+PASS Object.getOwnPropertyDescriptor(global, 'Audio').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Audio').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Audio').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Audio').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBuffer').value is AudioBuffer
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBuffer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBuffer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBuffer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBuffer').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBufferSourceNode').value is AudioBufferSourceNode
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBufferSourceNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBufferSourceNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBufferSourceNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioBufferSourceNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioDestinationNode').value is AudioDestinationNode
+PASS Object.getOwnPropertyDescriptor(global, 'AudioDestinationNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioDestinationNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioDestinationNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioDestinationNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioListener').value is AudioListener
+PASS Object.getOwnPropertyDescriptor(global, 'AudioListener').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioListener').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioListener').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioListener').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioNode').value is AudioNode
+PASS Object.getOwnPropertyDescriptor(global, 'AudioNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioParam').value is AudioParam
+PASS Object.getOwnPropertyDescriptor(global, 'AudioParam').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioParam').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioParam').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioParam').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'AudioProcessingEvent').value is AudioProcessingEvent
+PASS Object.getOwnPropertyDescriptor(global, 'AudioProcessingEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioProcessingEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioProcessingEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'AudioProcessingEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'BarProp').value is BarProp
+PASS Object.getOwnPropertyDescriptor(global, 'BarProp').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BarProp').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BarProp').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'BarProp').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeLoadEvent').value is BeforeLoadEvent
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeLoadEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeLoadEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeLoadEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeLoadEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeUnloadEvent').value is BeforeUnloadEvent
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeUnloadEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeUnloadEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeUnloadEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'BeforeUnloadEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'BiquadFilterNode').value is BiquadFilterNode
+PASS Object.getOwnPropertyDescriptor(global, 'BiquadFilterNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BiquadFilterNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'BiquadFilterNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'BiquadFilterNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Blob').value is Blob
+PASS Object.getOwnPropertyDescriptor(global, 'Blob').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Blob').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Blob').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Blob').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CDATASection').value is CDATASection
+PASS Object.getOwnPropertyDescriptor(global, 'CDATASection').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CDATASection').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CDATASection').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CDATASection').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSCharsetRule').value is CSSCharsetRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSCharsetRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSCharsetRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSCharsetRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSCharsetRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSFontFaceRule').value is CSSFontFaceRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSFontFaceRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSFontFaceRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSFontFaceRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSFontFaceRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSImportRule').value is CSSImportRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSImportRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSImportRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSImportRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSImportRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframeRule').value is CSSKeyframeRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframeRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframeRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframeRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframeRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframesRule').value is CSSKeyframesRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframesRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframesRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframesRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSKeyframesRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSMediaRule').value is CSSMediaRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSMediaRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSMediaRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSMediaRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSMediaRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPageRule').value is CSSPageRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPageRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPageRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPageRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPageRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPrimitiveValue').value is CSSPrimitiveValue
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPrimitiveValue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPrimitiveValue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPrimitiveValue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSPrimitiveValue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRule').value is CSSRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').value is CSSRuleList
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleDeclaration').value is CSSStyleDeclaration
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleDeclaration').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleDeclaration').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleDeclaration').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleDeclaration').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleRule').value is CSSStyleRule
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleSheet').value is CSSStyleSheet
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleSheet').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleSheet').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleSheet').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSStyleSheet').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValue').value is CSSValue
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValueList').value is CSSValueList
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValueList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValueList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValueList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CSSValueList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasGradient').value is CanvasGradient
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasGradient').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasGradient').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasGradient').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasGradient').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasPattern').value is CanvasPattern
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasPattern').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasPattern').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasPattern').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasPattern').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasRenderingContext2D').value is CanvasRenderingContext2D
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasRenderingContext2D').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasRenderingContext2D').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasRenderingContext2D').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CanvasRenderingContext2D').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelMergerNode').value is ChannelMergerNode
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelMergerNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelMergerNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelMergerNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelMergerNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelSplitterNode').value is ChannelSplitterNode
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelSplitterNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelSplitterNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelSplitterNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ChannelSplitterNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CharacterData').value is CharacterData
+PASS Object.getOwnPropertyDescriptor(global, 'CharacterData').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CharacterData').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CharacterData').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CharacterData').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRect').value is ClientRect
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRect').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRect').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRect').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRect').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').value is ClientRectList
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
+PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Comment').value is Comment
+PASS Object.getOwnPropertyDescriptor(global, 'Comment').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Comment').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Comment').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Comment').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CompositionEvent').value is CompositionEvent
+PASS Object.getOwnPropertyDescriptor(global, 'CompositionEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CompositionEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CompositionEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CompositionEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ConvolverNode').value is ConvolverNode
+PASS Object.getOwnPropertyDescriptor(global, 'ConvolverNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ConvolverNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ConvolverNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ConvolverNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Counter').value is Counter
+PASS Object.getOwnPropertyDescriptor(global, 'Counter').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Counter').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Counter').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Counter').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'CustomEvent').value is CustomEvent
+PASS Object.getOwnPropertyDescriptor(global, 'CustomEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CustomEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'CustomEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'CustomEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMException').value is DOMException
+PASS Object.getOwnPropertyDescriptor(global, 'DOMException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMImplementation').value is DOMImplementation
+PASS Object.getOwnPropertyDescriptor(global, 'DOMImplementation').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMImplementation').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMImplementation').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMImplementation').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').value is DOMParser
+PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMSettableTokenList').value is DOMSettableTokenList
+PASS Object.getOwnPropertyDescriptor(global, 'DOMSettableTokenList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMSettableTokenList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMSettableTokenList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMSettableTokenList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').value is DOMStringList
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringMap').value is DOMStringMap
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringMap').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringMap').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringMap').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMStringMap').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DOMTokenList').value is DOMTokenList
+PASS Object.getOwnPropertyDescriptor(global, 'DOMTokenList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMTokenList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMTokenList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DOMTokenList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').value is DelayNode
+PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Document').value is Document
+PASS Object.getOwnPropertyDescriptor(global, 'Document').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Document').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Document').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Document').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentFragment').value is DocumentFragment
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentFragment').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentFragment').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentFragment').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentFragment').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentType').value is DocumentType
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentType').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentType').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentType').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DocumentType').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'DynamicsCompressorNode').value is DynamicsCompressorNode
+PASS Object.getOwnPropertyDescriptor(global, 'DynamicsCompressorNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DynamicsCompressorNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DynamicsCompressorNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DynamicsCompressorNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Element').value is Element
+PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
+PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
+PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ErrorEvent').value is ErrorEvent
+PASS Object.getOwnPropertyDescriptor(global, 'ErrorEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ErrorEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ErrorEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ErrorEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Event').value is Event
+PASS Object.getOwnPropertyDescriptor(global, 'Event').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Event').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Event').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Event').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'EventException').value is EventException
+PASS Object.getOwnPropertyDescriptor(global, 'EventException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'EventException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'EventException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'EventException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'EventSource').value is EventSource
+PASS Object.getOwnPropertyDescriptor(global, 'EventSource').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'EventSource').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'EventSource').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'EventSource').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'File').value is File
+PASS Object.getOwnPropertyDescriptor(global, 'File').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'File').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'File').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'File').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'FileError').value is FileError
+PASS Object.getOwnPropertyDescriptor(global, 'FileError').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileError').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileError').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileError').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'FileList').value is FileList
+PASS Object.getOwnPropertyDescriptor(global, 'FileList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'FileReader').value is FileReader
+PASS Object.getOwnPropertyDescriptor(global, 'FileReader').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileReader').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileReader').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'FileReader').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'FocusEvent').value is FocusEvent
+PASS Object.getOwnPropertyDescriptor(global, 'FocusEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FocusEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FocusEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'FocusEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'FormData').value is FormData
+PASS Object.getOwnPropertyDescriptor(global, 'FormData').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FormData').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'FormData').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'FormData').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'GainNode').value is GainNode
+PASS Object.getOwnPropertyDescriptor(global, 'GainNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'GainNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'GainNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'GainNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAllCollection').value is HTMLAllCollection
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAllCollection').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAllCollection').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAllCollection').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAllCollection').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAnchorElement').value is HTMLAnchorElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAnchorElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAnchorElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAnchorElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAnchorElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAppletElement').value is HTMLAppletElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAppletElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAppletElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAppletElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAppletElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAreaElement').value is HTMLAreaElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAreaElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAreaElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAreaElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAreaElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAttachmentElement').value is HTMLAttachmentElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAttachmentElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAttachmentElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAttachmentElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAttachmentElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAudioElement').value is HTMLAudioElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAudioElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAudioElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAudioElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLAudioElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBRElement').value is HTMLBRElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBRElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBRElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBRElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBRElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseElement').value is HTMLBaseElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseFontElement').value is HTMLBaseFontElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseFontElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseFontElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseFontElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBaseFontElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBodyElement').value is HTMLBodyElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBodyElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBodyElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBodyElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLBodyElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLButtonElement').value is HTMLButtonElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLButtonElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLButtonElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLButtonElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLButtonElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCanvasElement').value is HTMLCanvasElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCanvasElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCanvasElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCanvasElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCanvasElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCollection').value is HTMLCollection
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCollection').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCollection').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCollection').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLCollection').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').value is HTMLDListElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').value is HTMLDivElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDocument').value is HTMLDocument
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDocument').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDocument').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDocument').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDocument').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLElement').value is HTMLElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLEmbedElement').value is HTMLEmbedElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLEmbedElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLEmbedElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLEmbedElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLEmbedElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFieldSetElement').value is HTMLFieldSetElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFieldSetElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFieldSetElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFieldSetElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFieldSetElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFontElement').value is HTMLFontElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFontElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFontElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFontElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFontElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormControlsCollection').value is HTMLFormControlsCollection
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormControlsCollection').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormControlsCollection').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormControlsCollection').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormControlsCollection').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormElement').value is HTMLFormElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFormElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameElement').value is HTMLFrameElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameSetElement').value is HTMLFrameSetElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameSetElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameSetElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameSetElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLFrameSetElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHRElement').value is HTMLHRElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHRElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHRElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHRElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHRElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadElement').value is HTMLHeadElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadingElement').value is HTMLHeadingElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadingElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadingElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadingElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHeadingElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHtmlElement').value is HTMLHtmlElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHtmlElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHtmlElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHtmlElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLHtmlElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLIFrameElement').value is HTMLIFrameElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLIFrameElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLIFrameElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLIFrameElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLIFrameElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLImageElement').value is HTMLImageElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLImageElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLImageElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLImageElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLImageElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLInputElement').value is HTMLInputElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLInputElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLInputElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLInputElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLInputElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLKeygenElement').value is HTMLKeygenElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLKeygenElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLKeygenElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLKeygenElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLKeygenElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLIElement').value is HTMLLIElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLIElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLIElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLIElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLIElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLabelElement').value is HTMLLabelElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLabelElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLabelElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLabelElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLabelElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLegendElement').value is HTMLLegendElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLegendElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLegendElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLegendElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLegendElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLinkElement').value is HTMLLinkElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLinkElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLinkElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLinkElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLLinkElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMapElement').value is HTMLMapElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMapElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMapElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMapElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMapElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMarqueeElement').value is HTMLMarqueeElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMarqueeElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMarqueeElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMarqueeElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMarqueeElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMediaElement').value is HTMLMediaElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMediaElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMediaElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMediaElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMediaElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMenuElement').value is HTMLMenuElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMenuElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMenuElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMenuElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMenuElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMetaElement').value is HTMLMetaElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMetaElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMetaElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMetaElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMetaElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMeterElement').value is HTMLMeterElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMeterElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMeterElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMeterElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLMeterElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLModElement').value is HTMLModElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLModElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLModElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLModElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLModElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOListElement').value is HTMLOListElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOListElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOListElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOListElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLObjectElement').value is HTMLObjectElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLObjectElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLObjectElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLObjectElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLObjectElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptGroupElement').value is HTMLOptGroupElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptGroupElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptGroupElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptGroupElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptGroupElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionElement').value is HTMLOptionElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionsCollection').value is HTMLOptionsCollection
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionsCollection').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionsCollection').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionsCollection').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOptionsCollection').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOutputElement').value is HTMLOutputElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOutputElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOutputElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOutputElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLOutputElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParagraphElement').value is HTMLParagraphElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParagraphElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParagraphElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParagraphElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParagraphElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParamElement').value is HTMLParamElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParamElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParamElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParamElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLParamElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLPreElement').value is HTMLPreElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLPreElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLPreElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLPreElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLPreElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLProgressElement').value is HTMLProgressElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLProgressElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLProgressElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLProgressElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLProgressElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLQuoteElement').value is HTMLQuoteElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLQuoteElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLQuoteElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLQuoteElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLQuoteElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLScriptElement').value is HTMLScriptElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLScriptElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLScriptElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLScriptElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLScriptElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSelectElement').value is HTMLSelectElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSelectElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSelectElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSelectElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSelectElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSourceElement').value is HTMLSourceElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSourceElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSourceElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSourceElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSourceElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSpanElement').value is HTMLSpanElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSpanElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSpanElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSpanElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLSpanElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLStyleElement').value is HTMLStyleElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLStyleElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLStyleElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLStyleElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLStyleElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCaptionElement').value is HTMLTableCaptionElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCaptionElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCaptionElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCaptionElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCaptionElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCellElement').value is HTMLTableCellElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCellElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCellElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCellElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableCellElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').value is HTMLTableColElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').value is HTMLTableElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').value is HTMLTableRowElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableSectionElement').value is HTMLTableSectionElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableSectionElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableSectionElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableSectionElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableSectionElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTemplateElement').value is HTMLTemplateElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTemplateElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTemplateElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTemplateElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTemplateElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTextAreaElement').value is HTMLTextAreaElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTextAreaElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTextAreaElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTextAreaElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTextAreaElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTitleElement').value is HTMLTitleElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTitleElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTitleElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTitleElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTitleElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTrackElement').value is HTMLTrackElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTrackElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTrackElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTrackElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLTrackElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUListElement').value is HTMLUListElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUListElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUListElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUListElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUnknownElement').value is HTMLUnknownElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUnknownElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUnknownElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUnknownElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLUnknownElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLVideoElement').value is HTMLVideoElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLVideoElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLVideoElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLVideoElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLVideoElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').value is HashChangeEvent
+PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HashChangeEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'History').value is History
+PASS Object.getOwnPropertyDescriptor(global, 'History').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'History').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'History').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'History').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Image').value is Image
+PASS Object.getOwnPropertyDescriptor(global, 'Image').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Image').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Image').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Image').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ImageData').value is ImageData
+PASS Object.getOwnPropertyDescriptor(global, 'ImageData').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ImageData').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ImageData').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ImageData').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').value is KeyboardEvent
+PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'KeyboardEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Location').value is Location
+PASS Object.getOwnPropertyDescriptor(global, 'Location').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Location').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Location').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Location').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaController').value is MediaController
+PASS Object.getOwnPropertyDescriptor(global, 'MediaController').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaController').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaController').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaController').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaElementAudioSourceNode').value is MediaElementAudioSourceNode
+PASS Object.getOwnPropertyDescriptor(global, 'MediaElementAudioSourceNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaElementAudioSourceNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaElementAudioSourceNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaElementAudioSourceNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaError').value is MediaError
+PASS Object.getOwnPropertyDescriptor(global, 'MediaError').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaError').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaError').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaError').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyEvent').value is MediaKeyEvent
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyNeededEvent').value is MediaKeyNeededEvent
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyNeededEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyNeededEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyNeededEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaKeyNeededEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaList').value is MediaList
+PASS Object.getOwnPropertyDescriptor(global, 'MediaList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MediaSource').value is MediaSource
+PASS Object.getOwnPropertyDescriptor(global, 'MediaSource').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaSource').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaSource').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MediaSource').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MessageChannel').value is MessageChannel
+PASS Object.getOwnPropertyDescriptor(global, 'MessageChannel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessageChannel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessageChannel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessageChannel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MessageEvent').value is MessageEvent
+PASS Object.getOwnPropertyDescriptor(global, 'MessageEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessageEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessageEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessageEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MessagePort').value is MessagePort
+PASS Object.getOwnPropertyDescriptor(global, 'MessagePort').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessagePort').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessagePort').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MessagePort').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MimeType').value is MimeType
+PASS Object.getOwnPropertyDescriptor(global, 'MimeType').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MimeType').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MimeType').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MimeType').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MimeTypeArray').value is MimeTypeArray
+PASS Object.getOwnPropertyDescriptor(global, 'MimeTypeArray').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MimeTypeArray').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MimeTypeArray').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MimeTypeArray').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MouseEvent').value is MouseEvent
+PASS Object.getOwnPropertyDescriptor(global, 'MouseEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MouseEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MouseEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MouseEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MutationEvent').value is MutationEvent
+PASS Object.getOwnPropertyDescriptor(global, 'MutationEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MutationObserver').value is MutationObserver
+PASS Object.getOwnPropertyDescriptor(global, 'MutationObserver').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationObserver').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationObserver').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationObserver').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'MutationRecord').value is MutationRecord
+PASS Object.getOwnPropertyDescriptor(global, 'MutationRecord').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationRecord').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationRecord').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'MutationRecord').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').value is NamedNodeMap
+PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'NamedNodeMap').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Navigator').value is Navigator
+PASS Object.getOwnPropertyDescriptor(global, 'Navigator').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Navigator').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Navigator').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Navigator').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Node').value is Node
+PASS Object.getOwnPropertyDescriptor(global, 'Node').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Node').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Node').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Node').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'NodeFilter').value is NodeFilter
+PASS Object.getOwnPropertyDescriptor(global, 'NodeFilter').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeFilter').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeFilter').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeFilter').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'NodeIterator').value is NodeIterator
+PASS Object.getOwnPropertyDescriptor(global, 'NodeIterator').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeIterator').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeIterator').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeIterator').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'NodeList').value is NodeList
+PASS Object.getOwnPropertyDescriptor(global, 'NodeList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'NodeList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Notification').value is Notification
+PASS Object.getOwnPropertyDescriptor(global, 'Notification').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Notification').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Notification').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Notification').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'OfflineAudioCompletionEvent').value is OfflineAudioCompletionEvent
+PASS Object.getOwnPropertyDescriptor(global, 'OfflineAudioCompletionEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'OfflineAudioCompletionEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'OfflineAudioCompletionEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'OfflineAudioCompletionEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Option').value is Option
+PASS Object.getOwnPropertyDescriptor(global, 'Option').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Option').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Option').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Option').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'OscillatorNode').value is OscillatorNode
+PASS Object.getOwnPropertyDescriptor(global, 'OscillatorNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'OscillatorNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'OscillatorNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'OscillatorNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'OverflowEvent').value is OverflowEvent
+PASS Object.getOwnPropertyDescriptor(global, 'OverflowEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'OverflowEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'OverflowEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'OverflowEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'PageTransitionEvent').value is PageTransitionEvent
+PASS Object.getOwnPropertyDescriptor(global, 'PageTransitionEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PageTransitionEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PageTransitionEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'PageTransitionEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Path2D').value is Path2D
+PASS Object.getOwnPropertyDescriptor(global, 'Path2D').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Path2D').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Path2D').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Path2D').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Performance').value is Performance
+PASS Object.getOwnPropertyDescriptor(global, 'Performance').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Performance').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Performance').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Performance').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').value is PerformanceNavigation
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceNavigation').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').value is PerformanceTiming
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'PerformanceTiming').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'PeriodicWave').value is PeriodicWave
+PASS Object.getOwnPropertyDescriptor(global, 'PeriodicWave').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PeriodicWave').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PeriodicWave').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'PeriodicWave').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Plugin').value is Plugin
+PASS Object.getOwnPropertyDescriptor(global, 'Plugin').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Plugin').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Plugin').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Plugin').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'PluginArray').value is PluginArray
+PASS Object.getOwnPropertyDescriptor(global, 'PluginArray').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PluginArray').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PluginArray').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'PluginArray').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'PopStateEvent').value is PopStateEvent
+PASS Object.getOwnPropertyDescriptor(global, 'PopStateEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PopStateEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'PopStateEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'PopStateEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ProcessingInstruction').value is ProcessingInstruction
+PASS Object.getOwnPropertyDescriptor(global, 'ProcessingInstruction').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ProcessingInstruction').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ProcessingInstruction').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ProcessingInstruction').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').value is ProgressEvent
+PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'RGBColor').value is RGBColor
+PASS Object.getOwnPropertyDescriptor(global, 'RGBColor').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'RGBColor').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'RGBColor').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'RGBColor').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Range').value is Range
+PASS Object.getOwnPropertyDescriptor(global, 'Range').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Range').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Range').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Range').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'RangeException').value is RangeException
+PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
+PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Rect').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Rect').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SQLException').value is SQLException
+PASS Object.getOwnPropertyDescriptor(global, 'SQLException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SQLException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SQLException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SQLException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAElement').value is SVGAElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphDefElement').value is SVGAltGlyphDefElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphDefElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphDefElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphDefElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphDefElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphElement').value is SVGAltGlyphElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphItemElement').value is SVGAltGlyphItemElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphItemElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphItemElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphItemElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAltGlyphItemElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAngle').value is SVGAngle
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAngle').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAngle').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAngle').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAngle').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateColorElement').value is SVGAnimateColorElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateColorElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateColorElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateColorElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateColorElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateElement').value is SVGAnimateElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateMotionElement').value is SVGAnimateMotionElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateMotionElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateMotionElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateMotionElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateMotionElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateTransformElement').value is SVGAnimateTransformElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateTransformElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateTransformElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateTransformElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimateTransformElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedAngle').value is SVGAnimatedAngle
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedAngle').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedAngle').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedAngle').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedAngle').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedBoolean').value is SVGAnimatedBoolean
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedBoolean').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedBoolean').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedBoolean').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedBoolean').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedEnumeration').value is SVGAnimatedEnumeration
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedEnumeration').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedEnumeration').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedEnumeration').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedEnumeration').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedInteger').value is SVGAnimatedInteger
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedInteger').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedInteger').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedInteger').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedInteger').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLength').value is SVGAnimatedLength
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLength').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLength').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLength').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLength').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLengthList').value is SVGAnimatedLengthList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLengthList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLengthList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLengthList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedLengthList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumber').value is SVGAnimatedNumber
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumber').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumber').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumber').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumber').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumberList').value is SVGAnimatedNumberList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumberList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumberList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumberList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedNumberList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedPreserveAspectRatio').value is SVGAnimatedPreserveAspectRatio
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedPreserveAspectRatio').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedPreserveAspectRatio').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedPreserveAspectRatio').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedPreserveAspectRatio').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedRect').value is SVGAnimatedRect
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedRect').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedRect').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedRect').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedRect').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedString').value is SVGAnimatedString
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedString').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedString').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedString').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedString').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedTransformList').value is SVGAnimatedTransformList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedTransformList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedTransformList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedTransformList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimatedTransformList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimationElement').value is SVGAnimationElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimationElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimationElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimationElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGAnimationElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCircleElement').value is SVGCircleElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCircleElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCircleElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCircleElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCircleElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGClipPathElement').value is SVGClipPathElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGClipPathElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGClipPathElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGClipPathElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGClipPathElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGColor').value is SVGColor
+PASS Object.getOwnPropertyDescriptor(global, 'SVGColor').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGColor').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGColor').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGColor').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGComponentTransferFunctionElement').value is SVGComponentTransferFunctionElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGComponentTransferFunctionElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGComponentTransferFunctionElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGComponentTransferFunctionElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGComponentTransferFunctionElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCursorElement').value is SVGCursorElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCursorElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCursorElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCursorElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGCursorElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDefsElement').value is SVGDefsElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDefsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDefsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDefsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDefsElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDescElement').value is SVGDescElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDescElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDescElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDescElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDescElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDocument').value is SVGDocument
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDocument').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDocument').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDocument').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGDocument').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGElement').value is SVGElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGEllipseElement').value is SVGEllipseElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGEllipseElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGEllipseElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGEllipseElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGEllipseElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGException').value is SVGException
+PASS Object.getOwnPropertyDescriptor(global, 'SVGException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEBlendElement').value is SVGFEBlendElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEBlendElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEBlendElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEBlendElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEBlendElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEColorMatrixElement').value is SVGFEColorMatrixElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEColorMatrixElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEColorMatrixElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEColorMatrixElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEColorMatrixElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEComponentTransferElement').value is SVGFEComponentTransferElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEComponentTransferElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEComponentTransferElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEComponentTransferElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEComponentTransferElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFECompositeElement').value is SVGFECompositeElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFECompositeElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFECompositeElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFECompositeElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFECompositeElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEConvolveMatrixElement').value is SVGFEConvolveMatrixElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEConvolveMatrixElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEConvolveMatrixElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEConvolveMatrixElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEConvolveMatrixElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDiffuseLightingElement').value is SVGFEDiffuseLightingElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDiffuseLightingElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDiffuseLightingElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDiffuseLightingElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDiffuseLightingElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDisplacementMapElement').value is SVGFEDisplacementMapElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDisplacementMapElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDisplacementMapElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDisplacementMapElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDisplacementMapElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDistantLightElement').value is SVGFEDistantLightElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDistantLightElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDistantLightElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDistantLightElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDistantLightElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDropShadowElement').value is SVGFEDropShadowElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDropShadowElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDropShadowElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDropShadowElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEDropShadowElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFloodElement').value is SVGFEFloodElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFloodElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFloodElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFloodElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFloodElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncAElement').value is SVGFEFuncAElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncAElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncAElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncAElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncAElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncBElement').value is SVGFEFuncBElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncBElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncBElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncBElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncBElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncGElement').value is SVGFEFuncGElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncGElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncGElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncGElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncGElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncRElement').value is SVGFEFuncRElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncRElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncRElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncRElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEFuncRElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEGaussianBlurElement').value is SVGFEGaussianBlurElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEGaussianBlurElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEGaussianBlurElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEGaussianBlurElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEGaussianBlurElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEImageElement').value is SVGFEImageElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEImageElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEImageElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEImageElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEImageElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeElement').value is SVGFEMergeElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeNodeElement').value is SVGFEMergeNodeElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeNodeElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeNodeElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeNodeElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMergeNodeElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMorphologyElement').value is SVGFEMorphologyElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMorphologyElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMorphologyElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMorphologyElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEMorphologyElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEOffsetElement').value is SVGFEOffsetElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEOffsetElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEOffsetElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEOffsetElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEOffsetElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEPointLightElement').value is SVGFEPointLightElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEPointLightElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEPointLightElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEPointLightElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFEPointLightElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpecularLightingElement').value is SVGFESpecularLightingElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpecularLightingElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpecularLightingElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpecularLightingElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpecularLightingElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpotLightElement').value is SVGFESpotLightElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpotLightElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpotLightElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpotLightElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFESpotLightElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETileElement').value is SVGFETileElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETileElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETileElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETileElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETileElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETurbulenceElement').value is SVGFETurbulenceElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETurbulenceElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETurbulenceElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETurbulenceElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFETurbulenceElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFilterElement').value is SVGFilterElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFilterElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFilterElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFilterElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFilterElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontElement').value is SVGFontElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceElement').value is SVGFontFaceElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceFormatElement').value is SVGFontFaceFormatElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceFormatElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceFormatElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceFormatElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceFormatElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceNameElement').value is SVGFontFaceNameElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceNameElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceNameElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceNameElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceNameElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceSrcElement').value is SVGFontFaceSrcElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceSrcElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceSrcElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceSrcElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceSrcElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceUriElement').value is SVGFontFaceUriElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceUriElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceUriElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceUriElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGFontFaceUriElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGForeignObjectElement').value is SVGForeignObjectElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGForeignObjectElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGForeignObjectElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGForeignObjectElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGForeignObjectElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGElement').value is SVGGElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphElement').value is SVGGlyphElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphRefElement').value is SVGGlyphRefElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphRefElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphRefElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphRefElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGlyphRefElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGradientElement').value is SVGGradientElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGradientElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGradientElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGradientElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGradientElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGraphicsElement').value is SVGGraphicsElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGraphicsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGraphicsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGraphicsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGGraphicsElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGHKernElement').value is SVGHKernElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGHKernElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGHKernElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGHKernElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGHKernElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGImageElement').value is SVGImageElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGImageElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGImageElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGImageElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGImageElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLength').value is SVGLength
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLength').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLength').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLength').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLength').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLengthList').value is SVGLengthList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLengthList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLengthList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLengthList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLengthList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLineElement').value is SVGLineElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLineElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLineElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLineElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLineElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLinearGradientElement').value is SVGLinearGradientElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLinearGradientElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLinearGradientElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLinearGradientElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGLinearGradientElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMPathElement').value is SVGMPathElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMPathElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMPathElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMPathElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMPathElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMarkerElement').value is SVGMarkerElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMarkerElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMarkerElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMarkerElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMarkerElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMaskElement').value is SVGMaskElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMaskElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMaskElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMaskElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMaskElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMatrix').value is SVGMatrix
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMatrix').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMatrix').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMatrix').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMatrix').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMetadataElement').value is SVGMetadataElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMetadataElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMetadataElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMetadataElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMetadataElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMissingGlyphElement').value is SVGMissingGlyphElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMissingGlyphElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMissingGlyphElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMissingGlyphElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGMissingGlyphElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumber').value is SVGNumber
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumber').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumber').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumber').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumber').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumberList').value is SVGNumberList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumberList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumberList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumberList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGNumberList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPaint').value is SVGPaint
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPaint').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPaint').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPaint').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPaint').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathElement').value is SVGPathElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSeg').value is SVGPathSeg
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSeg').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSeg').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSeg').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSeg').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcAbs').value is SVGPathSegArcAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcRel').value is SVGPathSegArcRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegArcRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegClosePath').value is SVGPathSegClosePath
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegClosePath').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegClosePath').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegClosePath').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegClosePath').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicAbs').value is SVGPathSegCurvetoCubicAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicRel').value is SVGPathSegCurvetoCubicRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothAbs').value is SVGPathSegCurvetoCubicSmoothAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothRel').value is SVGPathSegCurvetoCubicSmoothRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoCubicSmoothRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticAbs').value is SVGPathSegCurvetoQuadraticAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticRel').value is SVGPathSegCurvetoQuadraticRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothAbs').value is SVGPathSegCurvetoQuadraticSmoothAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothRel').value is SVGPathSegCurvetoQuadraticSmoothRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegCurvetoQuadraticSmoothRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoAbs').value is SVGPathSegLinetoAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalAbs').value is SVGPathSegLinetoHorizontalAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalRel').value is SVGPathSegLinetoHorizontalRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoHorizontalRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoRel').value is SVGPathSegLinetoRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalAbs').value is SVGPathSegLinetoVerticalAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalRel').value is SVGPathSegLinetoVerticalRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegLinetoVerticalRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegList').value is SVGPathSegList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoAbs').value is SVGPathSegMovetoAbs
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoAbs').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoAbs').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoAbs').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoAbs').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoRel').value is SVGPathSegMovetoRel
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoRel').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoRel').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoRel').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPathSegMovetoRel').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPatternElement').value is SVGPatternElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPatternElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPatternElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPatternElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPatternElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPoint').value is SVGPoint
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPoint').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPoint').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPoint').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPoint').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPointList').value is SVGPointList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPointList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPointList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPointList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPointList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolygonElement').value is SVGPolygonElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolygonElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolygonElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolygonElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolygonElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolylineElement').value is SVGPolylineElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolylineElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolylineElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolylineElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPolylineElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPreserveAspectRatio').value is SVGPreserveAspectRatio
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPreserveAspectRatio').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPreserveAspectRatio').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPreserveAspectRatio').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGPreserveAspectRatio').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRadialGradientElement').value is SVGRadialGradientElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRadialGradientElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRadialGradientElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRadialGradientElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRadialGradientElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRect').value is SVGRect
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRect').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRect').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRect').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRect').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRectElement').value is SVGRectElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRectElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRectElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRectElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRectElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRenderingIntent').value is SVGRenderingIntent
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRenderingIntent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRenderingIntent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRenderingIntent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGRenderingIntent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSVGElement').value is SVGSVGElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSVGElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSVGElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSVGElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSVGElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGScriptElement').value is SVGScriptElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGScriptElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGScriptElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGScriptElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGScriptElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSetElement').value is SVGSetElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSetElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSetElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSetElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSetElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStopElement').value is SVGStopElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStopElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStopElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStopElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStopElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStringList').value is SVGStringList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStringList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStringList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStringList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStringList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStyleElement').value is SVGStyleElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStyleElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStyleElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStyleElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGStyleElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSwitchElement').value is SVGSwitchElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSwitchElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSwitchElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSwitchElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSwitchElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSymbolElement').value is SVGSymbolElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSymbolElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSymbolElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSymbolElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGSymbolElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTRefElement').value is SVGTRefElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTRefElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTRefElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTRefElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTRefElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTSpanElement').value is SVGTSpanElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTSpanElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTSpanElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTSpanElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTSpanElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextContentElement').value is SVGTextContentElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextContentElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextContentElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextContentElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextContentElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextElement').value is SVGTextElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPathElement').value is SVGTextPathElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPathElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPathElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPathElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPathElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPositioningElement').value is SVGTextPositioningElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPositioningElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPositioningElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPositioningElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTextPositioningElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTitleElement').value is SVGTitleElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTitleElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTitleElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTitleElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTitleElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransform').value is SVGTransform
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransform').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransform').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransform').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransform').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransformList').value is SVGTransformList
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransformList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransformList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransformList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGTransformList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUnitTypes').value is SVGUnitTypes
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUnitTypes').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUnitTypes').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUnitTypes').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUnitTypes').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUseElement').value is SVGUseElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUseElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUseElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUseElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGUseElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGVKernElement').value is SVGVKernElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGVKernElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGVKernElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGVKernElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGVKernElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewElement').value is SVGViewElement
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewSpec').value is SVGViewSpec
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewSpec').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewSpec').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewSpec').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGViewSpec').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').value is SVGZoomEvent
+PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SVGZoomEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Screen').value is Screen
+PASS Object.getOwnPropertyDescriptor(global, 'Screen').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Screen').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Screen').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Screen').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'ScriptProcessorNode').value is ScriptProcessorNode
+PASS Object.getOwnPropertyDescriptor(global, 'ScriptProcessorNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ScriptProcessorNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ScriptProcessorNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ScriptProcessorNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Selection').value is Selection
+PASS Object.getOwnPropertyDescriptor(global, 'Selection').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Selection').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Selection').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Selection').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisEvent').value is SpeechSynthesisEvent
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisUtterance').value is SpeechSynthesisUtterance
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisUtterance').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisUtterance').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisUtterance').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'SpeechSynthesisUtterance').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Storage').value is Storage
+PASS Object.getOwnPropertyDescriptor(global, 'Storage').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Storage').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Storage').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Storage').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'StorageEvent').value is StorageEvent
+PASS Object.getOwnPropertyDescriptor(global, 'StorageEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'StorageEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'StorageEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'StorageEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheet').value is StyleSheet
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheet').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheet').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheet').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheet').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheetList').value is StyleSheetList
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheetList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheetList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheetList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'StyleSheetList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Text').value is Text
+PASS Object.getOwnPropertyDescriptor(global, 'Text').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Text').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Text').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Text').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TextEvent').value is TextEvent
+PASS Object.getOwnPropertyDescriptor(global, 'TextEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TextMetrics').value is TextMetrics
+PASS Object.getOwnPropertyDescriptor(global, 'TextMetrics').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextMetrics').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextMetrics').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextMetrics').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrack').value is TextTrack
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrack').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrack').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrack').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrack').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCue').value is TextTrackCue
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCueList').value is TextTrackCueList
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCueList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCueList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCueList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackCueList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackList').value is TextTrackList
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackList').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackList').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackList').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TextTrackList').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TimeRanges').value is TimeRanges
+PASS Object.getOwnPropertyDescriptor(global, 'TimeRanges').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TimeRanges').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TimeRanges').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TimeRanges').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TrackEvent').value is TrackEvent
+PASS Object.getOwnPropertyDescriptor(global, 'TrackEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TrackEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TrackEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TrackEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TransitionEvent').value is TransitionEvent
+PASS Object.getOwnPropertyDescriptor(global, 'TransitionEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TransitionEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TransitionEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TransitionEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'TreeWalker').value is TreeWalker
+PASS Object.getOwnPropertyDescriptor(global, 'TreeWalker').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TreeWalker').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'TreeWalker').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'TreeWalker').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'UIEvent').value is UIEvent
+PASS Object.getOwnPropertyDescriptor(global, 'UIEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UIEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UIEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'UIEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'UIRequestEvent').value is UIRequestEvent
+PASS Object.getOwnPropertyDescriptor(global, 'UIRequestEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UIRequestEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UIRequestEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'UIRequestEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'URL').value is URL
+PASS Object.getOwnPropertyDescriptor(global, 'URL').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'URL').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'URL').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'URL').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandler').value is UserMessageHandler
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandler').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandler').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandler').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandler').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandlersNamespace').value is UserMessageHandlersNamespace
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandlersNamespace').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandlersNamespace').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandlersNamespace').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'UserMessageHandlersNamespace').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'VTTCue').value is VTTCue
+PASS Object.getOwnPropertyDescriptor(global, 'VTTCue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'VTTCue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'VTTCue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'VTTCue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'VTTRegion').value is VTTRegion
+PASS Object.getOwnPropertyDescriptor(global, 'VTTRegion').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'VTTRegion').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'VTTRegion').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'VTTRegion').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WaveShaperNode').value is WaveShaperNode
+PASS Object.getOwnPropertyDescriptor(global, 'WaveShaperNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WaveShaperNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WaveShaperNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WaveShaperNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGL2RenderingContext').value is WebGL2RenderingContext
+PASS Object.getOwnPropertyDescriptor(global, 'WebGL2RenderingContext').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGL2RenderingContext').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGL2RenderingContext').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGL2RenderingContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLActiveInfo').value is WebGLActiveInfo
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLActiveInfo').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLActiveInfo').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLActiveInfo').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLActiveInfo').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLBuffer').value is WebGLBuffer
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLBuffer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLBuffer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLBuffer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLBuffer').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLContextEvent').value is WebGLContextEvent
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLContextEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLContextEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLContextEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLContextEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLFramebuffer').value is WebGLFramebuffer
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLFramebuffer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLFramebuffer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLFramebuffer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLFramebuffer').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').value is WebGLProgram
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').value is WebGLQuery
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').value is WebGLRenderbuffer
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').value is WebGLRenderingContext
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').value is WebGLSampler
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').value is WebGLShader
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').value is WebGLShaderPrecisionFormat
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').value is WebGLSync
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').value is WebGLTexture
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').value is WebGLTransformFeedback
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').value is WebGLUniformLocation
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').value is WebGLVertexArrayObject
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').value is WebKitAnimationEvent
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSRegionRule').value is WebKitCSSRegionRule
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSRegionRule').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSRegionRule').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSRegionRule').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSRegionRule').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSTransformValue').value is WebKitCSSTransformValue
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSTransformValue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSTransformValue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSTransformValue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSTransformValue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitDataCue').value is WebKitDataCue
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitDataCue').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitDataCue').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitDataCue').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitDataCue').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyError').value is WebKitMediaKeyError
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyError').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyError').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyError').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyError').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyMessageEvent').value is WebKitMediaKeyMessageEvent
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyMessageEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyMessageEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyMessageEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeyMessageEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeySession').value is WebKitMediaKeySession
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeySession').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeySession').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeySession').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeySession').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').value is WebKitMediaKeys
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').value is WebKitMutationObserver
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitNamespace').value is WebKitNamespace
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitNamespace').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitNamespace').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitNamespace').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitNamespace').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').value is WebKitPoint
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').value is WebKitTransitionEvent
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebSocket').value is WebSocket
+PASS Object.getOwnPropertyDescriptor(global, 'WebSocket').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebSocket').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebSocket').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebSocket').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WheelEvent').value is WheelEvent
+PASS Object.getOwnPropertyDescriptor(global, 'WheelEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WheelEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WheelEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WheelEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Window').value is Window
+PASS Object.getOwnPropertyDescriptor(global, 'Window').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Window').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Window').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Window').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'Worker').value is Worker
+PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
+PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').value is XMLHttpRequest
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestException').value is XMLHttpRequestException
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestProgressEvent').value is XMLHttpRequestProgressEvent
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestProgressEvent').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestProgressEvent').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestProgressEvent').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestProgressEvent').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestUpload').value is XMLHttpRequestUpload
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestUpload').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestUpload').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestUpload').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequestUpload').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XMLSerializer').value is XMLSerializer
+PASS Object.getOwnPropertyDescriptor(global, 'XMLSerializer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLSerializer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLSerializer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XMLSerializer').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XPathEvaluator').value is XPathEvaluator
+PASS Object.getOwnPropertyDescriptor(global, 'XPathEvaluator').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathEvaluator').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathEvaluator').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathEvaluator').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XPathException').value is XPathException
+PASS Object.getOwnPropertyDescriptor(global, 'XPathException').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathException').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathException').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathException').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XPathExpression').value is XPathExpression
+PASS Object.getOwnPropertyDescriptor(global, 'XPathExpression').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathExpression').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathExpression').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathExpression').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XPathResult').value is XPathResult
+PASS Object.getOwnPropertyDescriptor(global, 'XPathResult').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathResult').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathResult').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XPathResult').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'XSLTProcessor').value is XSLTProcessor
+PASS Object.getOwnPropertyDescriptor(global, 'XSLTProcessor').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XSLTProcessor').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'XSLTProcessor').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'XSLTProcessor').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioContext').value is webkitAudioContext
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioContext').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioContext').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioContext').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioPannerNode').value is webkitAudioPannerNode
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioPannerNode').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioPannerNode').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioPannerNode').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitAudioPannerNode').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'webkitOfflineAudioContext').value is webkitOfflineAudioContext
+PASS Object.getOwnPropertyDescriptor(global, 'webkitOfflineAudioContext').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitOfflineAudioContext').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitOfflineAudioContext').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitOfflineAudioContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'webkitURL').value is webkitURL
+PASS Object.getOwnPropertyDescriptor(global, 'webkitURL').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitURL').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitURL').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'webkitURL').configurable is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/LayoutTests/platform/win/TestExpectations        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -242,6 +242,10 @@
</span><span class="cx"> crypto/subtle/rsa-indexeddb.html [ Skip ]
</span><span class="cx"> fast/history/page-cache-indexed-closed-db.html [ Skip ]
</span><span class="cx"> fast/history/page-cache-indexed-opened-db.html [ Skip ]
</span><ins>+
+# But since it is disabled at runtime, we should make sure it is correctly disabled
+storage/indexeddb/properties-disabled-at-runtime.html [ Pass ]
+
</ins><span class="cx"> fast/history/page-cache-webdatabase-no-transaction-db.html [ Skip ]
</span><span class="cx"> fast/history/page-cache-webdatabase-pending-transaction.html [ Skip ]
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/wk2/TestExpectations (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/wk2/TestExpectations        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/LayoutTests/platform/wk2/TestExpectations        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -678,6 +678,9 @@
</span><span class="cx"> # Skip tests in fast/text/shaping
</span><span class="cx"> fast/text/shaping
</span><span class="cx"> 
</span><ins>+# WebKit2 should always have IndexedDB enabled
+storage/indexeddb/properties-disabled-at-runtime.html [ Skip ]
+
</ins><span class="cx"> ### END OF (4) Features that are not supported in WebKit2 and likely never will be
</span><span class="cx"> ########################################
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbpropertiesdisabledatruntimeexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime-expected.txt (0 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime-expected.txt                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime-expected.txt        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+ALERT: undefined
+ALERT: 1
+ALERT: undefined
+ALERT: 2
+ALERT: undefined
+ALERT: 3
+ALERT: undefined
+ALERT: 4
+ALERT: undefined
+ALERT: 5
+ALERT: undefined
+ALERT: 6
+ALERT: undefined
+ALERT: 7
+ALERT: undefined
+ALERT: 8
+ALERT: undefined
+ALERT: 9
+ALERT: undefined
+ALERT: 10
+ALERT: undefined
+ALERT: 11
+ALERT: undefined
+ALERT: 12
+ALERT: undefined
+ALERT: 13
+ALERT: undefined
+ALERT: 14
+ALERT: undefined
+ALERT: 15
+ALERT: undefined
+ALERT: 16
+ALERT: undefined
+ALERT: 17
+ALERT: undefined
+ALERT: 18
+This test makes sure objects/properties related to IndexedDatabase are both undefined and read/write when the feature is disabled at runtime.
</ins></span></pre></div>
<a id="trunkLayoutTestsstorageindexeddbpropertiesdisabledatruntimehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime.html (0 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime.html                                (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/properties-disabled-at-runtime.html        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -0,0 +1,81 @@
</span><ins>+&lt;script&gt;
+if (window.testRunner)
+    testRunner.dumpAsText();
+
+var counter = 1;
+
+alert(window.indexedDB);
+window.indexedDB = counter++; 
+alert(window.indexedDB);
+
+alert(window.webkitIndexedDB);
+window.webkitIndexedDB = counter++; 
+alert(window.webkitIndexedDB);
+
+alert(window.IDBCursorConstructor);
+window.IDBCursorConstructor = counter++; 
+alert(window.IDBCursorConstructor);
+
+alert(window.IDBDatabaseConstructor);
+window.IDBDatabaseConstructor = counter++; 
+alert(window.IDBDatabaseConstructor);
+
+alert(window.IDBFactoryConstructor);
+window.IDBFactoryConstructor = counter++; 
+alert(window.IDBFactoryConstructor);
+
+alert(window.IDBIndexConstructor);
+window.IDBIndexConstructor = counter++; 
+alert(window.IDBIndexConstructor);
+
+alert(window.IDBKeyRangeConstructor);
+window.IDBKeyRangeConstructor = counter++; 
+alert(window.IDBKeyRangeConstructor);
+
+alert(window.IDBObjectStoreConstructor);
+window.IDBObjectStoreConstructor = counter++; 
+alert(window.IDBObjectStoreConstructor);
+
+alert(window.IDBRequestConstructor);
+window.IDBRequestConstructor = counter++; 
+alert(window.IDBRequestConstructor);
+
+alert(window.IDBTransactionConstructor);
+window.IDBTransactionConstructor = counter++; 
+alert(window.IDBTransactionConstructor);
+
+alert(window.webkitIDBCursorConstructor);
+window.webkitIDBCursorConstructor = counter++; 
+alert(window.webkitIDBCursorConstructor);
+
+alert(window.webkitIDBDatabaseConstructor);
+window.webkitIDBDatabaseConstructor = counter++; 
+alert(window.webkitIDBDatabaseConstructor);
+
+alert(window.webkitIDBFactoryConstructor);
+window.webkitIDBFactoryConstructor = counter++; 
+alert(window.webkitIDBFactoryConstructor);
+
+alert(window.webkitIDBIndexConstructor);
+window.webkitIDBIndexConstructor = counter++; 
+alert(window.webkitIDBIndexConstructor);
+
+alert(window.webkitIDBKeyRangeConstructor);
+window.webkitIDBKeyRangeConstructor = counter++; 
+alert(window.webkitIDBKeyRangeConstructor);
+
+alert(window.webkitIDBObjectStoreConstructor);
+window.webkitIDBObjectStoreConstructor = counter++; 
+alert(window.webkitIDBObjectStoreConstructor);
+
+alert(window.webkitIDBRequestConstructor);
+window.webkitIDBRequestConstructor = counter++; 
+alert(window.webkitIDBRequestConstructor);
+
+alert(window.webkitIDBTransactionConstructor);
+window.webkitIDBTransactionConstructor = counter++; 
+alert(window.webkitIDBTransactionConstructor);
+&lt;/script&gt;
+&lt;body&gt;
+This test makes sure objects/properties related to IndexedDatabase are both undefined and read/write when the feature is disabled at runtime.
+&lt;/body&gt;
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-06-08  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Completely remove all IDB properties/constructors when it is disabled at runtime.
+        rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034
+
+        Reviewed by Geoffrey Garen.
+
+        * runtime/CommonIdentifiers.h:
+
</ins><span class="cx"> 2015-06-06  Mark Lam  &lt;mark.lam@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Returned Exception* values need to be initialized to nullptr when no exceptions are thrown.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifiersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -118,6 +118,7 @@
</span><span class="cx">     macro(id) \
</span><span class="cx">     macro(ignoreCase) \
</span><span class="cx">     macro(index) \
</span><ins>+    macro(indexedDB) \
</ins><span class="cx">     macro(inferredName) \
</span><span class="cx">     macro(input) \
</span><span class="cx">     macro(instructionCount) \
</span><span class="lines">@@ -176,6 +177,7 @@
</span><span class="cx">     macro(valueOf) \
</span><span class="cx">     macro(values) \
</span><span class="cx">     macro(webkit) \
</span><ins>+    macro(webkitIndexedDB) \
</ins><span class="cx">     macro(window) \
</span><span class="cx">     macro(writable)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/ChangeLog        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2015-06-08  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Completely remove all IDB properties/constructors when it is disabled at runtime.
+        rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034
+
+        Reviewed by Geoffrey Garen.
+
+        Test: storage/indexeddb/properties-disabled-at-runtime.html
+
+        - Make constructors all runtime enabled.
+        - Remove autogeneration of the window.(webkit)indexedDB accessors.
+        - Add manual overrides for the (webkit)indexedDB accessors at runtime.
+        
+        * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
+        * Modules/indexeddb/IDBAny.idl:
+        * Modules/indexeddb/IDBCursor.idl:
+        * Modules/indexeddb/IDBCursorWithValue.idl:
+        * Modules/indexeddb/IDBDatabase.idl:
+        * Modules/indexeddb/IDBFactory.idl:
+        * Modules/indexeddb/IDBIndex.idl:
+        * Modules/indexeddb/IDBKeyRange.idl:
+        * Modules/indexeddb/IDBObjectStore.idl:
+        * Modules/indexeddb/IDBOpenDBRequest.idl:
+        * Modules/indexeddb/IDBRequest.idl:
+        * Modules/indexeddb/IDBTransaction.idl:
+        * Modules/indexeddb/IDBVersionChangeEvent.idl:
+        * page/DOMWindow.idl:
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::jsDOMWindowIndexedDB):
+        (WebCore::JSDOMWindow::getOwnPropertySlot):
+
</ins><span class="cx"> 2015-06-08  Michael Catanzaro  &lt;mcatanzaro@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [SOUP] Performs DNS prefetch when a proxy is configured (information leak)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbDOMWindowIndexedDatabaseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -27,8 +27,6 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx"> ] partial interface DOMWindow {
</span><del>-    [ImplementedAs=indexedDB] readonly attribute IDBFactory webkitIndexedDB;
-
-    readonly attribute IDBFactory indexedDB;
</del><ins>+    // This space is intentionally left blank.
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBAnyidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBAny.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBAny.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBAny.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx">     CustomToJSObject,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBAny {
</span><span class="cx">     // This space is intentionally left blank.
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBCursoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBCursor {
</span><span class="cx">     readonly attribute IDBAny source;
</span><span class="cx">     readonly attribute DOMString direction;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBCursorWithValueidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCursorWithValue.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBCursorWithValue.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBCursorWithValue.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBCursorWithValue : IDBCursor {
</span><span class="cx">     readonly attribute any value;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx">     EventTarget,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     JSGenerateToNativeObject,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBDatabase : EventTarget {
</span><span class="cx">     readonly attribute DOMString name;
</span><span class="cx">     readonly attribute unsigned long long version;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBFactoryidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBFactory {
</span><span class="cx">     [CallWith=ScriptExecutionContext, RaisesException] IDBOpenDBRequest open(DOMString name, [EnforceRange] optional unsigned long long version);
</span><span class="cx">     [CallWith=ScriptExecutionContext, RaisesException] IDBOpenDBRequest deleteDatabase(DOMString name);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBIndexidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBIndex {
</span><span class="cx">     readonly attribute DOMString name;
</span><span class="cx">     readonly attribute IDBObjectStore objectStore;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyRangeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBKeyRange {
</span><span class="cx">     [ImplementedAs=lowerValue,CallWith=ScriptExecutionContext] readonly attribute any lower;
</span><span class="cx">     [ImplementedAs=upperValue,CallWith=ScriptExecutionContext] readonly attribute any upper;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBObjectStoreidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx">     ImplementationLacksVTable,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBObjectStore {
</span><span class="cx">     [TreatReturnedNullStringAs=Null] readonly attribute DOMString name;
</span><span class="cx">     [ImplementedAs=keyPathAny] readonly attribute IDBAny keyPath;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBOpenDBRequestidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -27,7 +27,8 @@
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><span class="cx">     EventTarget,
</span><span class="cx">     JSGenerateToJSObject,
</span><del>-    JSGenerateToNativeObject
</del><ins>+    JSGenerateToNativeObject,
+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBOpenDBRequest : IDBRequest {
</span><span class="cx">     attribute EventHandler onblocked;
</span><span class="cx">     attribute EventHandler onupgradeneeded;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBRequestidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx">     ActiveDOMObject,
</span><span class="cx">     EventTarget,
</span><span class="cx">     JSGenerateToJSObject,
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBTransactionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx">     EventTarget,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     JSGenerateToNativeObject,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBTransaction : EventTarget {
</span><span class="cx">     readonly attribute DOMString mode;
</span><span class="cx">     readonly attribute IDBDatabase db;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBVersionChangeEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Conditional=INDEXED_DATABASE,
</span><ins>+    EnabledAtRuntime=IndexedDB,
</ins><span class="cx"> ] interface IDBVersionChangeEvent : Event {
</span><span class="cx">     readonly attribute unsigned long long oldVersion;
</span><span class="cx">     readonly attribute unsigned long long? newVersion;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSDOMWindowCustom.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;DOMWindowIndexedDatabase.h&quot;
</ins><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLCollection.h&quot;
</span><span class="cx"> #include &quot;HTMLDocument.h&quot;
</span><span class="lines">@@ -29,10 +30,12 @@
</span><span class="cx"> #include &quot;JSHTMLAudioElement.h&quot;
</span><span class="cx"> #include &quot;JSHTMLCollection.h&quot;
</span><span class="cx"> #include &quot;JSHTMLOptionElement.h&quot;
</span><ins>+#include &quot;JSIDBFactory.h&quot;
</ins><span class="cx"> #include &quot;JSImageConstructor.h&quot;
</span><span class="cx"> #include &quot;JSMessagePortCustom.h&quot;
</span><span class="cx"> #include &quot;JSWorker.h&quot;
</span><span class="cx"> #include &quot;Location.h&quot;
</span><ins>+#include &quot;RuntimeEnabledFeatures.h&quot;
</ins><span class="cx"> #include &quot;ScheduledAction.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -99,6 +102,23 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+static EncodedJSValue jsDOMWindowIndexedDB(ExecState* exec, JSObject* slotBase, EncodedJSValue thisValue, PropertyName)
+{
+    UNUSED_PARAM(exec);
+    UNUSED_PARAM(slotBase);
+    UNUSED_PARAM(thisValue);
+    auto* castedThis = toJSDOMWindow(JSValue::decode(thisValue));
+    if (!RuntimeEnabledFeatures::sharedFeatures().indexedDBEnabled())
+        return JSValue::encode(jsUndefined());
+    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, castedThis-&gt;impl()))
+        return JSValue::encode(jsUndefined());
+    auto&amp; impl = castedThis-&gt;impl();
+    JSValue result = toJS(exec, castedThis-&gt;globalObject(), WTF::getPtr(DOMWindowIndexedDatabase::indexedDB(&amp;impl)));
+    return JSValue::encode(result);
+}
+#endif
+
</ins><span class="cx"> bool JSDOMWindow::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     JSDOMWindow* thisObject = jsCast&lt;JSDOMWindow*&gt;(object);
</span><span class="lines">@@ -168,6 +188,18 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+#if ENABLE(INDEXED_DATABASE)
+    // FIXME: With generated JS bindings built on static property tables there is no way to
+    // completely remove a generated property at runtime.
+    // So to completely disable IndexedDB at runtime we have to not generate these accessors
+    // and have to handle them specially here.
+    // Once https://webkit.org/b/145669 is resolved, they can once again be auto generated.
+    if (RuntimeEnabledFeatures::sharedFeatures().indexedDBEnabled() &amp;&amp; (propertyName == exec-&gt;propertyNames().indexedDB || propertyName == exec-&gt;propertyNames().webkitIndexedDB)) {
+        slot.setCustom(thisObject, allowsAccess ? DontDelete | ReadOnly | CustomAccessor : ReadOnly | DontDelete | DontEnum, jsDOMWindowIndexedDB);
+        return true;
+    }
+#endif
+
</ins><span class="cx">     const HashTableValue* entry = JSDOMWindow::info()-&gt;staticPropHashTable-&gt;entry(propertyName);
</span><span class="cx">     if (entry) {
</span><span class="cx">         slot.setCacheableCustom(thisObject, allowsAccess ? entry-&gt;attributes() : ReadOnly | DontDelete | DontEnum, entry-&gt;propertyGetter());
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.idl (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.idl        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebCore/page/DOMWindow.idl        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -207,14 +207,14 @@
</span><span class="cx"> 
</span><span class="cx">     attribute DOMURLConstructor webkitURL; // FIXME: deprecate this.
</span><span class="cx">     attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add metrics to determine when we can remove this.
</span><del>-    [Conditional=INDEXED_DATABASE] attribute IDBCursorConstructor webkitIDBCursor;
-    [Conditional=INDEXED_DATABASE] attribute IDBDatabaseConstructor webkitIDBDatabase;
-    [Conditional=INDEXED_DATABASE] attribute IDBFactoryConstructor webkitIDBFactory;
-    [Conditional=INDEXED_DATABASE] attribute IDBIndexConstructor webkitIDBIndex;
-    [Conditional=INDEXED_DATABASE] attribute IDBKeyRangeConstructor webkitIDBKeyRange;
-    [Conditional=INDEXED_DATABASE] attribute IDBObjectStoreConstructor webkitIDBObjectStore;
-    [Conditional=INDEXED_DATABASE] attribute IDBRequestConstructor webkitIDBRequest;
-    [Conditional=INDEXED_DATABASE] attribute IDBTransactionConstructor webkitIDBTransaction;
</del><ins>+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBCursorConstructor webkitIDBCursor;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBDatabaseConstructor webkitIDBDatabase;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBFactoryConstructor webkitIDBFactory;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBIndexConstructor webkitIDBIndex;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBKeyRangeConstructor webkitIDBKeyRange;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBObjectStoreConstructor webkitIDBObjectStore;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBRequestConstructor webkitIDBRequest;
+    [Conditional=INDEXED_DATABASE, EnabledAtRuntime=IndexedDB] attribute IDBTransactionConstructor webkitIDBTransaction;
</ins><span class="cx"> #endif // defined(LANGUAGE_JAVASCRIPT)
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebKit2/ChangeLog        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-06-08  Brady Eidson  &lt;beidson@apple.com&gt;
+
+        Completely remove all IDB properties/constructors when it is disabled at runtime.
+        rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034
+
+        Reviewed by Geoffrey Garen.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::WebProcess): Enable IDB at runtime if it's enabled at compile time.
+
</ins><span class="cx"> 2015-06-08  Michael Catanzaro  &lt;mcatanzaro@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [SOUP] Performs DNS prefetch when a proxy is configured (information leak)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (185321 => 185322)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp        2015-06-08 16:48:27 UTC (rev 185321)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp        2015-06-08 16:49:57 UTC (rev 185322)
</span><span class="lines">@@ -86,6 +86,7 @@
</span><span class="cx"> #include &lt;WebCore/PageCache.h&gt;
</span><span class="cx"> #include &lt;WebCore/PageGroup.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceHandle.h&gt;
</span><ins>+#include &lt;WebCore/RuntimeEnabledFeatures.h&gt;
</ins><span class="cx"> #include &lt;WebCore/SchemeRegistry.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><span class="cx"> #include &lt;WebCore/Settings.h&gt;
</span><span class="lines">@@ -203,6 +204,10 @@
</span><span class="cx">     addSupplement&lt;WebMediaKeyStorageManager&gt;();
</span><span class="cx"> #endif
</span><span class="cx">     m_plugInAutoStartOriginHashes.add(SessionID::defaultSessionID(), HashMap&lt;unsigned, double&gt;());
</span><ins>+
+#if ENABLE(INDEXED_DATABASE)
+    RuntimeEnabledFeatures::sharedFeatures().setWebkitIndexedDBEnabled(true);
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebProcess::initializeProcess(const ChildProcessInitializationParameters&amp; parameters)
</span></span></pre>
</div>
</div>

</body>
</html>