<!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>[163395] tags/Safari-538.16.1</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/163395">163395</a></dd>
<dt>Author</dt> <dd>lforschler@apple.com</dd>
<dt>Date</dt> <dd>2014-02-04 11:36:48 -0800 (Tue, 04 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rollout 163280.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#tagsSafari538161LayoutTestsChangeLog">tags/Safari-538.16.1/LayoutTests/ChangeLog</a></li>
<li><a href="#tagsSafari538161LayoutTestsfastdomGeolocationenabledexpectedtxt">tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/enabled-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestsfastdomGeolocationscripttestsenabledjs">tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/script-tests/enabled.js</a></li>
<li><a href="#tagsSafari538161LayoutTestsfastdomwrapperclassesexpectedtxt">tags/Safari-538.16.1/LayoutTests/fast/dom/wrapper-classes-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestshttptestssecuritycrossframeaccessenumerationexpectedtxt">tags/Safari-538.16.1/LayoutTests/http/tests/security/cross-frame-access-enumeration-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomconstructorattributesexpectedtxt">tags/Safari-538.16.1/LayoutTests/js/dom/constructor-attributes-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomdeletesyntaxexpectedtxt">tags/Safari-538.16.1/LayoutTests/js/dom/delete-syntax-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomdomattributesonmismatchtypeexpectedtxt">tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomdomattributesonmismatchtypehtml">tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type.html</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomdomstaticpropertyforiniterationexpectedtxt">tags/Safari-538.16.1/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomscripttestsconstructorattributesjs">tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/constructor-attributes.js</a></li>
<li><a href="#tagsSafari538161LayoutTestsjsdomscripttestsdeletesyntaxjs">tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/delete-syntax.js</a></li>
<li><a href="#tagsSafari538161SourceWebCoreChangeLog">tags/Safari-538.16.1/Source/WebCore/ChangeLog</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsjsJSDOMBindingh">tags/Safari-538.16.1/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsjsJSStorageCustomcpp">tags/Safari-538.16.1/Source/WebCore/bindings/js/JSStorageCustom.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptsCodeGeneratorJSpm">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestEventConstructorh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestExceptioncpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestExceptionh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestInterfacecpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNamedConstructorh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNodecpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNodeh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestObjcpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestTypedefscpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSattributecpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSattributeh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.h</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSreadonlycpp">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp</a></li>
<li><a href="#tagsSafari538161SourceWebCorebindingsscriptstestJSJSreadonlyh">tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="tagsSafari538161LayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/ChangeLog (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/ChangeLog        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/ChangeLog        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -1,3 +1,7 @@
</span><ins>+2014-02-04  Lucas Forschler  &lt;lforschler@apple.com&gt;
+
+    Rollout r163280. &lt;rdar://problem/15971014&gt;
+
</ins><span class="cx"> 2014-02-03  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r163329
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsfastdomGeolocationenabledexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/enabled-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/enabled-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/enabled-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -6,8 +6,7 @@
</span><span class="cx"> PASS typeof navigator.geolocation == 'object' is true
</span><span class="cx"> PASS hasGeolocationProperty() is true
</span><span class="cx"> PASS 'geolocation' in navigator is true
</span><del>-PASS navigator.hasOwnProperty('geolocation') is false
-PASS navigator.__proto__.hasOwnProperty('geolocation') is true
</del><ins>+PASS navigator.hasOwnProperty('geolocation') is true
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsfastdomGeolocationscripttestsenabledjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/script-tests/enabled.js (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/script-tests/enabled.js        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/fast/dom/Geolocation/script-tests/enabled.js        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -12,7 +12,6 @@
</span><span class="cx"> shouldBeTrue(&quot;typeof navigator.geolocation == 'object'&quot;);
</span><span class="cx"> shouldBeTrue(&quot;hasGeolocationProperty()&quot;);
</span><span class="cx"> shouldBeTrue(&quot;'geolocation' in navigator&quot;);
</span><del>-shouldBeFalse(&quot;navigator.hasOwnProperty('geolocation')&quot;);
-shouldBeTrue(&quot;navigator.__proto__.hasOwnProperty('geolocation')&quot;);
</del><ins>+shouldBeTrue(&quot;navigator.hasOwnProperty('geolocation')&quot;);
</ins><span class="cx"> 
</span><span class="cx"> window.jsTestIsAsync = false;
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsfastdomwrapperclassesexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/fast/dom/wrapper-classes-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/fast/dom/wrapper-classes-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/fast/dom/wrapper-classes-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> PASS jsWrapperClass(document.constructor) is 'HTMLDocumentConstructor'
</span><span class="cx"> PASS jsWrapperClass(document.createElement('select').options) is 'HTMLOptionsCollection'
</span><span class="cx"> PASS jsWrapperClass(document.createElement('select').options.__proto__) is 'HTMLOptionsCollectionPrototype'
</span><del>-PASS jsWrapperClass(document.createElement('select').options.constructor) is 'HTMLOptionsCollectionConstructor'
</del><ins>+FAIL jsWrapperClass(document.createElement('select').options.constructor) should be HTMLOptionsCollectionConstructor. Was Function.
</ins><span class="cx"> 
</span><span class="cx"> HTML Elements
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestshttptestssecuritycrossframeaccessenumerationexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/http/tests/security/cross-frame-access-enumeration-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/http/tests/security/cross-frame-access-enumeration-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/http/tests/security/cross-frame-access-enumeration-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -9,8 +9,6 @@
</span><span class="cx"> CONSOLE MESSAGE: Blocked a frame with origin &quot;http://127.0.0.1:8000&quot; from accessing a frame with origin &quot;http://localhost:8000&quot;. Protocols, domains, and ports must match.
</span><span class="cx"> CONSOLE MESSAGE: Blocked a frame with origin &quot;http://127.0.0.1:8000&quot; from accessing a frame with origin &quot;http://localhost:8000&quot;. Protocols, domains, and ports must match.
</span><span class="cx"> CONSOLE MESSAGE: Blocked a frame with origin &quot;http://127.0.0.1:8000&quot; from accessing a frame with origin &quot;http://localhost:8000&quot;. Protocols, domains, and ports must match.
</span><del>-CONSOLE MESSAGE: Blocked a frame with origin &quot;http://127.0.0.1:8000&quot; from accessing a frame with origin &quot;http://localhost:8000&quot;. Protocols, domains, and ports must match.
-CONSOLE MESSAGE: Blocked a frame with origin &quot;http://127.0.0.1:8000&quot; from accessing a frame with origin &quot;http://localhost:8000&quot;. Protocols, domains, and ports must match.
</del><span class="cx"> This tests that variable names can't be enumerated cross domain (see http://bugs.webkit.org/show_bug.cgi?id=16387)
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomconstructorattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/constructor-attributes-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/constructor-attributes-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/constructor-attributes-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -75,10 +75,10 @@
</span><span class="cx"> PASS canEnum(URIError.prototype, 'constructor') is false
</span><span class="cx"> PASS x = URIError.prototype; x.constructor = 4; x.constructor is 4
</span><span class="cx"> PASS x = URIError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false
</span><del>-PASS document.createTextNode('').__proto__.hasOwnProperty('constructor') is true
-PASS canEnum(document.createTextNode('').__proto__, 'constructor') is false
-FAIL x = document.createTextNode('').__proto__; x.constructor = 4; x.constructor should be 4 (of type number). Was [object TextConstructor] (of type object).
-FAIL x = document.createTextNode('').__proto__; delete x.constructor; x.hasOwnProperty('constructor') should be false. Was true.
</del><ins>+PASS document.createTextNode('').hasOwnProperty('constructor') is true
+PASS canEnum(document.createTextNode(''), 'constructor') is false
+FAIL x = document.createTextNode(''); x.constructor = 4; x.constructor should be 4 (of type number). Was [object TextConstructor] (of type object).
+FAIL x = document.createTextNode(''); delete x.constructor; x.hasOwnProperty('constructor') should be false. Was true.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomdeletesyntaxexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/delete-syntax-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/delete-syntax-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/delete-syntax-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -30,32 +30,19 @@
</span><span class="cx"> PASS RegExp.prototype.exec is undefined
</span><span class="cx"> PASS RegExp.prototype.test is null
</span><span class="cx"> PASS Object.getOwnPropertyNames(Object.prototype).indexOf('__defineSetter__') is -1
</span><del>-PASS navigatorPropertyNames.indexOf('appName') == -1 is true
-PASS navigatorPropertyNames.indexOf('appVersion') == -1 is true
-PASS navigatorPropertyNames.indexOf('language') == -1 is true
-PASS navigatorPropertyNames.indexOf('userAgent') == -1 is true
-PASS navigatorPropertyNames.indexOf('platform') == -1 is true
-PASS navigatorPropertyNames.indexOf('plugins') == -1 is true
-PASS navigatorPropertyNames.indexOf('mimeTypes') == -1 is true
-PASS navigatorPropertyNames.indexOf('product') == -1 is true
-PASS navigatorPropertyNames.indexOf('productSub') == -1 is true
-PASS navigatorPropertyNames.indexOf('vendor') == -1 is true
-PASS navigatorPropertyNames.indexOf('vendorSub') == -1 is true
-PASS navigatorPropertyNames.indexOf('cookieEnabled') == -1 is true
-PASS navigatorPropertyNames.indexOf('onLine') == -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('appName') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('appVersion') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('language') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('userAgent') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('platform') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('plugins') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('mimeTypes') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('product') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('productSub') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('vendor') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('vendorSub') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('cookieEnabled') != -1 is true
-PASS navigatorPrototypePropertyNames.indexOf('onLine') != -1 is true
</del><ins>+PASS navigatorPropertyNames.indexOf('appName') != -1 is true
+PASS navigatorPropertyNames.indexOf('appVersion') != -1 is true
+PASS navigatorPropertyNames.indexOf('language') != -1 is true
+PASS navigatorPropertyNames.indexOf('userAgent') != -1 is true
+PASS navigatorPropertyNames.indexOf('platform') != -1 is true
+PASS navigatorPropertyNames.indexOf('plugins') != -1 is true
+PASS navigatorPropertyNames.indexOf('mimeTypes') != -1 is true
+PASS navigatorPropertyNames.indexOf('product') != -1 is true
+PASS navigatorPropertyNames.indexOf('productSub') != -1 is true
+PASS navigatorPropertyNames.indexOf('vendor') != -1 is true
+PASS navigatorPropertyNames.indexOf('vendorSub') != -1 is true
+PASS navigatorPropertyNames.indexOf('cookieEnabled') != -1 is true
+PASS navigatorPropertyNames.indexOf('onLine') != -1 is true
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomdomattributesonmismatchtypeexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx"> PASS objectWithDocumentAsPrototype.all threw exception TypeError: Type error.
</span><span class="cx"> See what happens if we put the anchor prototype on a div
</span><span class="cx"> PASS testDiv instanceof HTMLAnchorElement is true
</span><del>-PASS testDiv.href threw exception TypeError: Type error.
</del><ins>+PASS testDiv.href is undefined.
</ins><span class="cx"> PASS testDiv instanceof HTMLAnchorElement is true
</span><span class="cx"> PASS testDiv.href threw exception TypeError: Type error.
</span><span class="cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomdomattributesonmismatchtypehtml"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type.html (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type.html        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/dom-attributes-on-mismatch-type.html        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -16,7 +16,8 @@
</span><span class="cx">         debug(&quot;See what happens if we put the anchor prototype on a div&quot;);
</span><span class="cx">         testDiv.__proto__ = testAnchor.__proto__;
</span><span class="cx">         shouldBeTrue(&quot;testDiv instanceof HTMLAnchorElement&quot;)
</span><del>-        shouldThrow(&quot;testDiv.href&quot;)
</del><ins>+        /* This will change to an exception once attributes are on the prototype chain */
+        shouldBeUndefined(&quot;testDiv.href&quot;)
</ins><span class="cx">         testDiv.__proto__ = testAnchor;
</span><span class="cx">         shouldBeTrue(&quot;testDiv instanceof HTMLAnchorElement&quot;)
</span><span class="cx">         shouldThrow(&quot;testDiv.href&quot;)
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomdomstaticpropertyforiniterationexpectedtxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -3,18 +3,13 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-PASS a[&quot;foo&quot;] is 1
-PASS a[&quot;bar&quot;] is 2
-PASS a[&quot;wibble&quot;] is 3
-PASS a[&quot;hick&quot;] is 4
-PASS a[&quot;hock&quot;] is 5
-PASS a[&quot;snood&quot;] is 6
</del><span class="cx"> PASS a[&quot;origin&quot;] is file://
</span><span class="cx"> PASS a[&quot;hash&quot;] is 
</span><span class="cx"> PASS a[&quot;search&quot;] is 
</span><span class="cx"> PASS a[&quot;text&quot;] is nerget
</span><span class="cx"> PASS a[&quot;hostname&quot;] is 
</span><span class="cx"> PASS a[&quot;rel&quot;] is 
</span><ins>+PASS a[&quot;name&quot;] is 
</ins><span class="cx"> PASS a[&quot;hreflang&quot;] is 
</span><span class="cx"> PASS a[&quot;ping&quot;] is 
</span><span class="cx"> PASS a[&quot;rev&quot;] is 
</span><span class="lines">@@ -23,7 +18,6 @@
</span><span class="cx"> PASS a[&quot;target&quot;] is 
</span><span class="cx"> PASS a[&quot;type&quot;] is 
</span><span class="cx"> PASS a[&quot;coords&quot;] is 
</span><del>-PASS a[&quot;name&quot;] is 
</del><span class="cx"> PASS a[&quot;shape&quot;] is 
</span><span class="cx"> PASS a[&quot;port&quot;] is 
</span><span class="cx"> PASS a[&quot;protocol&quot;] is file:
</span><span class="lines">@@ -51,7 +45,6 @@
</span><span class="cx"> PASS a[&quot;scrollWidth&quot;] is 0
</span><span class="cx"> PASS a[&quot;attributes&quot;] is [object NamedNodeMap]
</span><span class="cx"> PASS a[&quot;webkitRegionOverset&quot;] is undefined
</span><del>-PASS a[&quot;ALLOW_KEYBOARD_INPUT&quot;] is 1
</del><span class="cx"> PASS a[&quot;offsetWidth&quot;] is 39
</span><span class="cx"> PASS a[&quot;classList&quot;] is 
</span><span class="cx"> PASS a[&quot;offsetLeft&quot;] is 8
</span><span class="lines">@@ -69,41 +62,48 @@
</span><span class="cx"> PASS a[&quot;clientLeft&quot;] is 0
</span><span class="cx"> PASS a[&quot;offsetHeight&quot;] is 18
</span><span class="cx"> PASS a[&quot;clientHeight&quot;] is 0
</span><del>-PASS a[&quot;offsetTop&quot;] is 1074
</del><ins>+PASS a[&quot;offsetTop&quot;] is 969
</ins><span class="cx"> PASS a[&quot;scrollTop&quot;] is 0
</span><span class="cx"> PASS a[&quot;scrollHeight&quot;] is 0
</span><span class="cx"> PASS a[&quot;previousSibling&quot;] is [object Text]
</span><ins>+PASS a[&quot;parentNode&quot;] is [object HTMLBodyElement]
+PASS a[&quot;lastChild&quot;] is [object Text]
+PASS a[&quot;firstChild&quot;] is [object Text]
+PASS a[&quot;nodeValue&quot;] is null
+PASS a[&quot;textContent&quot;] is nerget
+PASS a[&quot;nodeType&quot;] is 1
+PASS a[&quot;nodeName&quot;] is A
+PASS a[&quot;prefix&quot;] is null
+PASS a[&quot;childNodes&quot;] is [object NodeList]
+PASS a[&quot;nextSibling&quot;] is [object Text]
+PASS a[&quot;ownerDocument&quot;] is [object HTMLDocument]
+PASS a[&quot;namespaceURI&quot;] is http://www.w3.org/1999/xhtml
+PASS a[&quot;localName&quot;] is a
+PASS a[&quot;parentElement&quot;] is [object HTMLBodyElement]
+PASS a[&quot;foo&quot;] is 1
+PASS a[&quot;bar&quot;] is 2
+PASS a[&quot;wibble&quot;] is 3
+PASS a[&quot;hick&quot;] is 4
+PASS a[&quot;hock&quot;] is 5
+PASS a[&quot;snood&quot;] is 6
+PASS a[&quot;ALLOW_KEYBOARD_INPUT&quot;] is 1
</ins><span class="cx"> PASS a[&quot;NOTATION_NODE&quot;] is 12
</span><span class="cx"> PASS a[&quot;CDATA_SECTION_NODE&quot;] is 4
</span><del>-PASS a[&quot;lastChild&quot;] is [object Text]
</del><span class="cx"> PASS a[&quot;ELEMENT_NODE&quot;] is 1
</span><del>-PASS a[&quot;nodeValue&quot;] is null
</del><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_DISCONNECTED&quot;] is 1
</span><span class="cx"> PASS a[&quot;ENTITY_NODE&quot;] is 6
</span><span class="cx"> PASS a[&quot;TEXT_NODE&quot;] is 3
</span><span class="cx"> PASS a[&quot;ENTITY_REFERENCE_NODE&quot;] is 5
</span><del>-PASS a[&quot;textContent&quot;] is nerget
-PASS a[&quot;nodeType&quot;] is 1
</del><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC&quot;] is 32
</span><del>-PASS a[&quot;ownerDocument&quot;] is [object HTMLDocument]
</del><ins>+PASS a[&quot;DOCUMENT_FRAGMENT_NODE&quot;] is 11
</ins><span class="cx"> PASS a[&quot;PROCESSING_INSTRUCTION_NODE&quot;] is 7
</span><del>-PASS a[&quot;localName&quot;] is a
-PASS a[&quot;parentNode&quot;] is [object HTMLBodyElement]
-PASS a[&quot;firstChild&quot;] is [object Text]
</del><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_PRECEDING&quot;] is 2
</span><span class="cx"> PASS a[&quot;DOCUMENT_TYPE_NODE&quot;] is 10
</span><span class="cx"> PASS a[&quot;COMMENT_NODE&quot;] is 8
</span><del>-PASS a[&quot;nodeName&quot;] is A
</del><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_FOLLOWING&quot;] is 4
</span><del>-PASS a[&quot;prefix&quot;] is null
-PASS a[&quot;childNodes&quot;] is [object NodeList]
-PASS a[&quot;nextSibling&quot;] is [object Text]
</del><span class="cx"> PASS a[&quot;ATTRIBUTE_NODE&quot;] is 2
</span><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_CONTAINED_BY&quot;] is 16
</span><del>-PASS a[&quot;namespaceURI&quot;] is http://www.w3.org/1999/xhtml
-PASS a[&quot;parentElement&quot;] is [object HTMLBodyElement]
</del><span class="cx"> PASS a[&quot;DOCUMENT_NODE&quot;] is 9
</span><del>-PASS a[&quot;DOCUMENT_FRAGMENT_NODE&quot;] is 11
</del><span class="cx"> PASS a[&quot;DOCUMENT_POSITION_CONTAINS&quot;] is 8
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomscripttestsconstructorattributesjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/constructor-attributes.js (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/constructor-attributes.js        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/constructor-attributes.js        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -39,4 +39,4 @@
</span><span class="cx"> checkConstructor(&quot;TypeError.prototype&quot;);
</span><span class="cx"> checkConstructor(&quot;URIError.prototype&quot;);
</span><span class="cx"> 
</span><del>-checkConstructor(&quot;document.createTextNode('').__proto__&quot;);
</del><ins>+checkConstructor(&quot;document.createTextNode('')&quot;);
</ins></span></pre></div>
<a id="tagsSafari538161LayoutTestsjsdomscripttestsdeletesyntaxjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/delete-syntax.js (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/delete-syntax.js        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/LayoutTests/js/dom/script-tests/delete-syntax.js        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -91,7 +91,4 @@
</span><span class="cx"> ];
</span><span class="cx"> 
</span><span class="cx"> for (var i = 0; i &lt; expectedPropertyNames.length; ++i)
</span><del>-    shouldBeTrue(&quot;navigatorPropertyNames.indexOf('&quot; + expectedPropertyNames[i] +&quot;') == -1&quot;);
-var navigatorPrototypePropertyNames = Object.getOwnPropertyNames(navigator.__proto__);
-for (var i = 0; i &lt; expectedPropertyNames.length; ++i)
-    shouldBeTrue(&quot;navigatorPrototypePropertyNames.indexOf('&quot; + expectedPropertyNames[i] +&quot;') != -1&quot;);
</del><ins>+    shouldBeTrue(&quot;navigatorPropertyNames.indexOf('&quot; + expectedPropertyNames[i] +&quot;') != -1&quot;);
</ins></span></pre></div>
<a id="tagsSafari538161SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/ChangeLog (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/ChangeLog        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/ChangeLog        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -1,3 +1,7 @@
</span><ins>+2014-02-04  Lucas Forschler  &lt;lforschler@apple.com&gt;
+
+    Rollout r163280. &lt;rdar://problem/15971014&gt;
+
</ins><span class="cx"> 2014-02-03  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r163329
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/js/JSDOMBinding.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/js/JSDOMBinding.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/js/JSDOMBinding.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -614,10 +614,7 @@
</span><span class="cx"> template &lt;class ThisImp&gt;
</span><span class="cx"> inline const JSC::HashEntry* getStaticValueSlotEntryWithoutCaching(JSC::ExecState* exec, JSC::PropertyName propertyName)
</span><span class="cx"> {
</span><del>-    const JSC::HashTable* table = ThisImp::info()-&gt;propHashTable(exec);
-    if (!table)
-        return getStaticValueSlotEntryWithoutCaching&lt;typename ThisImp::Base&gt;(exec, propertyName);
-    const JSC::HashEntry* entry = table-&gt;entry(exec, propertyName);
</del><ins>+    const JSC::HashEntry* entry = ThisImp::info()-&gt;propHashTable(exec)-&gt;entry(exec, propertyName);
</ins><span class="cx">     if (!entry) // not found, forward to parent
</span><span class="cx">         return getStaticValueSlotEntryWithoutCaching&lt;typename ThisImp::Base&gt;(exec, propertyName);
</span><span class="cx">     return entry;
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsjsJSStorageCustomcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/js/JSStorageCustom.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/js/JSStorageCustom.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/js/JSStorageCustom.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -44,14 +44,14 @@
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JSStorage::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
</span><span class="cx"> {
</span><del>-    JSStorage* thisObject = jsCast&lt;JSStorage*&gt;(JSValue::decode(slotBase));
-    JSValue prototype = thisObject-&gt;prototype();
-    PropertySlot slot(thisObject);
-    if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;getPropertySlot(exec, propertyName, slot))
-        return JSValue::encode(slot.getValue(exec, propertyName));
-
</del><ins>+    JSStorage* thisObj = jsCast&lt;JSStorage*&gt;(JSValue::decode(slotBase));
+        
+    JSValue prototype = asObject(JSValue::decode(slotBase))-&gt;prototype();
+    if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;hasProperty(exec, propertyName))
+        return JSValue::encode(asObject(prototype)-&gt;get(exec, propertyName));

</ins><span class="cx">     ExceptionCode ec = 0;
</span><del>-    JSValue result = jsStringOrNull(exec, thisObject-&gt;impl().getItem(propertyNameToString(propertyName), ec));
</del><ins>+    JSValue result = jsStringOrNull(exec, thisObj-&gt;impl().getItem(propertyNameToString(propertyName), ec));
</ins><span class="cx">     setDOMException(exec, ec);
</span><span class="cx">     return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">         return false;
</span><span class="cx">         
</span><span class="cx">     JSValue prototype = thisObject-&gt;prototype();
</span><del>-    if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;getPropertySlot(exec, propertyName, slot))
</del><ins>+    if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;hasProperty(exec, propertyName))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="lines">@@ -107,11 +107,11 @@
</span><span class="cx">     PropertySlot slot(this);
</span><span class="cx">     if (getStaticValueSlot&lt;JSStorage, Base&gt;(exec, *s_info.propHashTable(exec), this, propertyName, slot))
</span><span class="cx">         return false;
</span><del>-
</del><ins>+        
</ins><span class="cx">     JSValue prototype = this-&gt;prototype();
</span><del>-    if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;getPropertySlot(exec, propertyName, slot))
</del><ins>+    if (prototype.isObject() &amp;&amp; asObject(prototype)-&gt;hasProperty(exec, propertyName))
</ins><span class="cx">         return false;
</span><del>-
</del><ins>+    
</ins><span class="cx">     String stringValue = value.toString(exec)-&gt;value(exec);
</span><span class="cx">     if (exec-&gt;hadException())
</span><span class="cx">         return true;
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -413,7 +413,7 @@
</span><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    if (!$interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;} and InstanceAttributeCount($interface) &gt; 0) {
</del><ins>+    if (!$interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;}) {
</ins><span class="cx">         &amp;$manualLookupGetterGeneration();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -586,88 +586,6 @@
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub HasComplexGetOwnProperty
-{
-    my $interface = shift;
-
-    my $namedGetterFunction = GetNamedGetterFunction($interface);
-    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
-    my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator-&gt;IsNumericType($indexedGetterFunction-&gt;signature-&gt;type) : 0;
-
-    my $hasImpureNamedGetter = $namedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomGetOwnPropertySlot&quot;};
-
-    my $hasComplexGetter = $indexedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}
-        || $hasImpureNamedGetter;
-
-    return 1 if $interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;};
-    return 1 if IsDOMGlobalObject($interface);
-    return 1 if $hasComplexGetter;
-    return 0;
-}
-
-sub ConstructorShouldBeOnInstance
-{
-    my $interface = shift;
-    my $interfaceName = $interface-&gt;name;
-    return HasComplexGetOwnProperty($interface);
-}
-
-sub AttributeShouldBeOnInstance
-{
-    my $interface = shift;
-    my $attribute = shift;
-
-    my $interfaceName = $interface-&gt;name;
-    my $namedGetterFunction = GetNamedGetterFunction($interface);
-    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
-    my $hasNumericIndexedGetter = $indexedGetterFunction ? $codeGenerator-&gt;IsNumericType($indexedGetterFunction-&gt;signature-&gt;type) : 0;
-    
-    # FIXME: All these return 1 if ... should ideally be removed.
-    # Some of them are unavoidable due to DOM weirdness, in which case we should
-    # add an IDL attribute for them
-    
-    # FIXME: We should rearrange how custom named getters and getOwnPropertySlot
-    # overrides are handled so that we get the correct semantics and lookup ordering
-    my $hasImpureNamedGetter = $namedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomGetOwnPropertySlot&quot;};
-    return 1 if $hasImpureNamedGetter;
-    
-    
-    return 1 if IsDOMGlobalObject($interface);
-    return 1 if $attribute-&gt;signature-&gt;type =~ /Constructor$/;
-    return 1 if HasCustomGetter($attribute-&gt;signature-&gt;extendedAttributes);
-    return 1 if HasCustomSetter($attribute-&gt;signature-&gt;extendedAttributes);
-    
-    
-    # FIXME: These two should be fixed by removing the custom override of message, etc
-    return 1 if $interfaceName =~ &quot;Exception&quot;;
-    return 1 if $interfaceName =~ &quot;Error&quot;;
-
-    # FIXME: Length is a tricky attribute to handle correctly as it is frequently tied to
-    # objects which also have magic named attributes that can end up being named &quot;length&quot;
-    # and so interfere with lookup ordering.  I'm not sure what the correct solution is
-    # here.
-    return 1 if ($attribute-&gt;signature-&gt;name eq &quot;length&quot;);
-    
-    # It becomes hard to reason about attributes that require security checks if we push
-    # them down the prototype chain, so before we do these we'll need to carefully consider
-    # the possible pitfalls.
-    return 1 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CheckSecurityForNode&quot;};
-
-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;}) {
-        if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurity&quot;} or
-            $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurityOnGetter&quot;}) {
-            return 0;
-        }
-        return 1;
-    }
-    return 0;
-}
-
</del><span class="cx"> sub GetIndexedGetterFunction
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><span class="lines">@@ -680,32 +598,10 @@
</span><span class="cx">     return GetSpecialAccessorFunctionForType($interface, &quot;getter&quot;, &quot;DOMString&quot;, 1);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub InstanceAttributeCount
-{
-    my $interface = shift;
-    my $count = 0;
-    foreach my $attribute (@{$interface-&gt;attributes}) {
-        $count = $count + AttributeShouldBeOnInstance($interface, $attribute);
-    }
-    $count = $count + 1 if ConstructorShouldBeOnInstance($interface);
-    return $count;
-}
-
-sub PrototypeAttributeCount
-{
-    my $interface = shift;
-    my $count = 0;
-    foreach my $attribute (@{$interface-&gt;attributes}) {
-        $count = $count + 1 if !AttributeShouldBeOnInstance($interface, $attribute);
-    }
-    $count = $count + 1 if !ConstructorShouldBeOnInstance($interface);
-    return $count;
-}
-
</del><span class="cx"> sub InstanceOverridesGetOwnPropertySlot
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    my $numInstanceAttributes = InstanceAttributeCount($interface);
</del><ins>+    my $numAttributes = @{$interface-&gt;attributes};
</ins><span class="cx"> 
</span><span class="cx">     my $namedGetterFunction = GetNamedGetterFunction($interface);
</span><span class="cx">     my $indexedGetterFunction = GetIndexedGetterFunction($interface);
</span><span class="lines">@@ -719,17 +615,16 @@
</span><span class="cx">         || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}
</span><span class="cx">         || $hasImpureNamedGetter;
</span><span class="cx"> 
</span><del>-    return $numInstanceAttributes &gt; 0 || !$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;} || $hasComplexGetter;
</del><ins>+    return $numAttributes &gt; 0 || !$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;} || $hasComplexGetter;
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub PrototypeOverridesGetOwnPropertySlot
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    my $numPrototypeAttributes = PrototypeAttributeCount($interface);
</del><span class="cx">     my $numConstants = @{$interface-&gt;constants};
</span><span class="cx">     my $numFunctions = @{$interface-&gt;functions};
</span><del>-    return $numFunctions &gt; 0 || $numConstants &gt; 0 || $numPrototypeAttributes &gt; 0;
</del><ins>+    return $numFunctions &gt; 0 || $numConstants &gt; 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub InstanceOverridesPutImplementation
</span><span class="lines">@@ -1281,44 +1176,20 @@
</span><span class="cx"> 
</span><span class="cx"> sub GenerateAttributesHashTable
</span><span class="cx"> {
</span><del>-    my ($object, $interface, $isInstance, $hashKeys, $hashSpecials, $hashValue1, $hashValue2, $conditionals, $entries) = @_;
</del><ins>+    my ($object, $interface, $hashKeys, $hashSpecials, $hashValue1, $hashValue2, $conditionals, $entries) = @_;
</ins><span class="cx"> 
</span><span class="cx">     # FIXME: These should be functions on $interface.
</span><span class="cx">     my $interfaceName = $interface-&gt;name;
</span><span class="cx">     my $className = &quot;JS$interfaceName&quot;;
</span><span class="cx">     
</span><span class="cx">     # - Add all attributes in a hashtable definition
</span><del>-    my $numAttributes = 0;
-    if ($isInstance) {
-        $numAttributes = InstanceAttributeCount($interface);
-    } else {
-        $numAttributes = PrototypeAttributeCount($interface);
-    }
</del><ins>+    my $numAttributes = @{$interface-&gt;attributes};
+    $numAttributes++ if !$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;};
</ins><span class="cx"> 
</span><ins>+    return 0  if !$numAttributes;
</ins><span class="cx"> 
</span><del>-    if (ConstructorShouldBeOnInstance($interface) == $isInstance) {
-
-        if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
-            die if !$numAttributes;
-            push(@$hashKeys, &quot;constructor&quot;);
-            my $getter = &quot;js&quot; . $interfaceName . &quot;Constructor&quot;;
-            push(@$hashValue1, $getter);
-            if ($interface-&gt;extendedAttributes-&gt;{&quot;ReplaceableConstructor&quot;}) {
-                my $setter = &quot;setJS&quot; . $interfaceName . &quot;Constructor&quot;;
-                push(@$hashValue2, $setter);
-                push(@$hashSpecials, &quot;DontEnum | DontDelete&quot;);
-            } else {
-                push(@$hashValue2, &quot;0&quot;);
-                push(@$hashSpecials, &quot;DontEnum | ReadOnly&quot;);
-            }
-        }
-    }
-
-    return 0 if !$numAttributes;
-
</del><span class="cx">     foreach my $attribute (@{$interface-&gt;attributes}) {
</span><span class="cx">         next if ($attribute-&gt;isStatic);
</span><del>-        next if AttributeShouldBeOnInstance($interface, $attribute) != $isInstance;
</del><span class="cx">         my $name = $attribute-&gt;signature-&gt;name;
</span><span class="cx">         push(@$hashKeys, $name);
</span><span class="cx"> 
</span><span class="lines">@@ -1349,6 +1220,19 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
+        push(@$hashKeys, &quot;constructor&quot;);
+        my $getter = &quot;js&quot; . $interfaceName . &quot;Constructor&quot;;
+        push(@$hashValue1, $getter);
+        if ($interface-&gt;extendedAttributes-&gt;{&quot;ReplaceableConstructor&quot;}) {
+            my $setter = &quot;setJS&quot; . $interfaceName . &quot;Constructor&quot;;
+            push(@$hashValue2, $setter);
+            push(@$hashSpecials, &quot;DontEnum | DontDelete&quot;);
+        } else {            
+            push(@$hashValue2, &quot;0&quot;);
+            push(@$hashSpecials, &quot;DontEnum | ReadOnly&quot;);
+        }
+    }
</ins><span class="cx">     return $numAttributes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1693,17 +1577,17 @@
</span><span class="cx">     my %conditionals = ();
</span><span class="cx">     my $hashName = $className . &quot;Table&quot;;
</span><span class="cx"> 
</span><del>-    my $numInstanceAttributes = GenerateAttributesHashTable($object, $interface, 1,
</del><ins>+    my $numAttributes = GenerateAttributesHashTable($object, $interface,
</ins><span class="cx">         \@hashKeys, \@hashSpecials,
</span><span class="cx">         \@hashValue1, \@hashValue2,
</span><span class="cx">         \%conditionals);
</span><span class="cx"> 
</span><span class="cx">     my $numConstants = @{$interface-&gt;constants};
</span><span class="cx">     my $numFunctions = @{$interface-&gt;functions};
</span><del>-    $object-&gt;GenerateHashTable($hashName, $numInstanceAttributes,
</del><ins>+    $object-&gt;GenerateHashTable($hashName, $numAttributes,
</ins><span class="cx">         \@hashKeys, \@hashSpecials,
</span><span class="cx">         \@hashValue1, \@hashValue2,
</span><del>-        \%conditionals) if $numInstanceAttributes &gt; 0;
</del><ins>+        \%conditionals) if $numAttributes &gt; 0;
</ins><span class="cx"> 
</span><span class="cx">     # - Add all constants
</span><span class="cx">     if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</span><span class="lines">@@ -1803,7 +1687,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # - Add functions and constants to a hashtable definition
</span><del>-
</del><ins>+    my $hashSize = $numFunctions + $numConstants;
</ins><span class="cx">     $hashName = $className . &quot;PrototypeTable&quot;;
</span><span class="cx"> 
</span><span class="cx">     @hashKeys = ();
</span><span class="lines">@@ -1812,13 +1696,6 @@
</span><span class="cx">     @hashSpecials = ();
</span><span class="cx">     %conditionals = ();
</span><span class="cx"> 
</span><del>-
-    my $numPrototypeAttributes = GenerateAttributesHashTable($object, $interface, 0,
-        \@hashKeys, \@hashSpecials,
-        \@hashValue1, \@hashValue2,
-        \%conditionals);
-    my $hashSize = $numFunctions + $numConstants + $numPrototypeAttributes;
-
</del><span class="cx">     # FIXME: we should not need a function for every constant.
</span><span class="cx">     foreach my $constant (@{$interface-&gt;constants}) {
</span><span class="cx">         my $name = $constant-&gt;name;
</span><span class="lines">@@ -1886,12 +1763,11 @@
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    ${className}Prototype* thisObject = jsCast&lt;${className}Prototype*&gt;(object);\n&quot;);
</span><span class="cx"> 
</span><del>-        my $numPrototypeAttributes = PrototypeAttributeCount($interface);
-        if ($numConstants eq 0 &amp;&amp; $numFunctions eq 0 &amp;&amp; $numPrototypeAttributes eq 0) {
</del><ins>+        if ($numConstants eq 0 &amp;&amp; $numFunctions eq 0) {
</ins><span class="cx">             push(@implContent, &quot;    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);\n&quot;);        
</span><del>-        } elsif ($numConstants eq 0 &amp;&amp; $numPrototypeAttributes eq 0) {
</del><ins>+        } elsif ($numConstants eq 0) {
</ins><span class="cx">             push(@implContent, &quot;    return getStaticFunctionSlot&lt;JSObject&gt;(exec, &quot; . prototypeHashTableAccessor($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}, $className) . &quot;, thisObject, propertyName, slot);\n&quot;);
</span><del>-        } elsif ($numFunctions eq 0 &amp;&amp; $numPrototypeAttributes eq 0) {
</del><ins>+        } elsif ($numFunctions eq 0) {
</ins><span class="cx">             push(@implContent, &quot;    return getStaticValueSlot&lt;${className}Prototype, JSObject&gt;(exec, &quot; . prototypeHashTableAccessor($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}, $className) . &quot;, thisObject, propertyName, slot);\n&quot;);
</span><span class="cx">         } else {
</span><span class="cx">             push(@implContent, &quot;    return getStaticPropertySlot&lt;${className}Prototype, JSObject&gt;(exec, &quot; . prototypeHashTableAccessor($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}, $className) . &quot;, thisObject, propertyName, slot);\n&quot;);
</span><span class="lines">@@ -1910,7 +1786,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # - Initialize static ClassInfo object
</span><del>-    if ($numInstanceAttributes &gt; 0 &amp;&amp; $interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</del><ins>+    if ($numAttributes &gt; 0 &amp;&amp; $interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</ins><span class="cx">         push(@implContent, &quot;static const HashTable&amp; get${className}Table(VM&amp; vm)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    return getHashTableForGlobalData(vm, ${className}Table);\n&quot;);
</span><span class="lines">@@ -1919,12 +1795,12 @@
</span><span class="cx"> 
</span><span class="cx">     push(@implContent, &quot;const ClassInfo $className&quot; . &quot;::s_info = { \&quot;${visibleInterfaceName}\&quot;, &amp;Base::s_info, &quot;);
</span><span class="cx"> 
</span><del>-    if ($numInstanceAttributes &gt; 0 &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</del><ins>+    if ($numAttributes &gt; 0 &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</ins><span class="cx">         push(@implContent, &quot;&amp;${className}Table&quot;);
</span><span class="cx">     } else {
</span><span class="cx">         push(@implContent, &quot;0&quot;);
</span><span class="cx">     }
</span><del>-    if ($numInstanceAttributes &gt; 0 &amp;&amp; $interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</del><ins>+    if ($numAttributes &gt; 0 &amp;&amp; $interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</ins><span class="cx">         push(@implContent, &quot;, get${className}Table &quot;);
</span><span class="cx">     } else {
</span><span class="cx">         push(@implContent, &quot;, 0 &quot;);
</span><span class="lines">@@ -2012,7 +1888,7 @@
</span><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    ${className}* thisObject = jsCast&lt;${className}*&gt;(object);\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n&quot;);
</span><del>-            push(@implContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numInstanceAttributes &gt; 0, 0));
</del><ins>+            push(@implContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numAttributes &gt; 0, 0));
</ins><span class="cx">             push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -2076,8 +1952,6 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">     }
</span><del>-    my $numAttributes = @{$interface-&gt;attributes};
-    $numAttributes = $numAttributes + 1 if !$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;};
</del><span class="cx">     if ($numAttributes &gt; 0) {
</span><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><span class="cx">             my $name = $attribute-&gt;signature-&gt;name;
</span><span class="lines">@@ -2273,10 +2147,8 @@
</span><span class="cx">         if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</span><span class="cx">             my $constructorFunctionName = &quot;js&quot; . $interfaceName . &quot;Constructor&quot;;
</span><span class="cx"> 
</span><del>-            push(@implContent, &quot;EncodedJSValue ${constructorFunctionName}(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)\n&quot;);
</del><ins>+            push(@implContent, &quot;EncodedJSValue ${constructorFunctionName}(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><del>-            push(@implContent, &quot;    UNUSED_PARAM(baseValue);\n&quot;);
-            push(@implContent, &quot;    UNUSED_PARAM(thisValue);\n&quot;);
</del><span class="cx">             if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">                 push(@implContent, &quot;    ${className}* domObject = jsDynamicCast&lt;$className*&gt;(JSValue::decode(thisValue));\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    if (!domObject) {\n&quot;);
</span><span class="lines">@@ -2284,14 +2156,12 @@
</span><span class="cx">                 push(@implContent, &quot;            domObject = shell-&gt;window();\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">             } else {
</span><del>-                push(@implContent, &quot;    ${className}* domObject = jsDynamicCast&lt;${className}*&gt;(JSValue::decode(thisValue));\n&quot;) if ConstructorShouldBeOnInstance($interface);
-                push(@implContent, &quot;    ${className}Prototype* domObject = jsDynamicCast&lt;${className}Prototype*&gt;(JSValue::decode(baseValue));\n&quot;) if !ConstructorShouldBeOnInstance($interface);
</del><ins>+                push(@implContent, &quot;    ${className}* domObject = jsDynamicCast&lt;$className*&gt;(JSValue::decode(thisValue));\n&quot;);
</ins><span class="cx">             }
</span><span class="cx">             push(@implContent, &quot;    if (!domObject)\n&quot;);
</span><span class="cx">             push(@implContent, &quot;        return throwVMTypeError(exec);\n&quot;);
</span><span class="cx"> 
</span><span class="cx">             if ($interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;}) {
</span><del>-                die if !ConstructorShouldBeOnInstance($interface);
</del><span class="cx">                 push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, domObject-&gt;impl()))\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">             }
</span><span class="lines">@@ -2894,8 +2764,6 @@
</span><span class="cx">                 $rootString .= &quot;        return false;\n&quot;;
</span><span class="cx">                 $rootString .= &quot;    void* root = WebCore::root(element);\n&quot;;
</span><span class="cx">             } elsif ($interfaceName eq &quot;CanvasRenderingContext&quot;) {
</span><del>-                $implIncludes{&quot;Element.h&quot;} = 1;
-                $implIncludes{&quot;JSNodeCustom.h&quot;} = 1;
</del><span class="cx">                 $rootString  = &quot;    void* root = WebCore::root(js${interfaceName}-&gt;impl().canvas());\n&quot;;
</span><span class="cx">             } elsif (GetGenerateIsReachable($interface) eq &quot;ImplOwnerNodeRoot&quot;) {
</span><span class="cx">                 $implIncludes{&quot;Element.h&quot;} = 1;
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestActiveDOMObjectTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { &quot;excitingAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectExcitingAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -145,10 +145,8 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestActiveDOMObjectConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestActiveDOMObjectConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
</del><span class="cx">     JSTestActiveDOMObject* domObject = jsDynamicCast&lt;JSTestActiveDOMObject*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -144,10 +144,8 @@
</span><span class="cx">     return Base::getOwnPropertySlotByIndex(thisObject, exec, index, slot);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestCustomNamedGetterConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestCustomNamedGetterConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
</del><span class="cx">     JSTestCustomNamedGetter* domObject = jsDynamicCast&lt;JSTestCustomNamedGetter*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -34,6 +34,17 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><ins>+static const HashTableValue JSTestEventConstructorTableValues[] =
+{
+    { &quot;attr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;attr2&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestEventConstructorTable = { 9, 7, true, JSTestEventConstructorTableValues, 0 };
+/* Hash table for constructor */
+
</ins><span class="cx"> static const HashTableValue JSTestEventConstructorConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="lines">@@ -108,13 +119,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestEventConstructorPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;attr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;attr2&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorPrototypeTable = { 9, 7, true, JSTestEventConstructorPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestEventConstructorPrototypeTable = { 1, 0, false, JSTestEventConstructorPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventConstructorPrototype::s_info = { &quot;TestEventConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestEventConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -122,14 +130,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestEventConstructor&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestEventConstructorPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestEventConstructorPrototype* thisObject = jsCast&lt;JSTestEventConstructorPrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestEventConstructorPrototype, JSObject&gt;(exec, JSTestEventConstructorPrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSTestEventConstructor::s_info = { &quot;TestEventConstructor&quot;, &amp;Base::s_info, &amp;JSTestEventConstructorTable, 0 , CREATE_METHOD_TABLE(JSTestEventConstructor) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSTestEventConstructor::s_info = { &quot;TestEventConstructor&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestEventConstructor) };
-
</del><span class="cx"> JSTestEventConstructor::JSTestEventConstructor(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestEventConstructor&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -162,7 +164,7 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestEventConstructor* thisObject = jsCast&lt;JSTestEventConstructor*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestEventConstructor, Base&gt;(exec, JSTestEventConstructorTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestEventConstructorAttr1(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)
</span><span class="lines">@@ -191,11 +193,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestEventConstructorConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestEventConstructorConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestEventConstructorPrototype* domObject = jsDynamicCast&lt;JSTestEventConstructorPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestEventConstructor* domObject = jsDynamicCast&lt;JSTestEventConstructor*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestEventConstructor::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestEventConstructorh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -104,7 +104,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -113,7 +112,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestEventConstructorPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestEventConstructorConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -169,10 +169,8 @@
</span><span class="cx">     return Base::getOwnPropertySlotByIndex(thisObject, exec, index, slot);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestEventTargetConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestEventTargetConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
</del><span class="cx">     JSTestEventTarget* domObject = jsDynamicCast&lt;JSTestEventTarget*&gt;(JSValue::decode(thisValue));
</span><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -35,10 +35,11 @@
</span><span class="cx"> static const HashTableValue JSTestExceptionTableValues[] =
</span><span class="cx"> {
</span><span class="cx">     { &quot;name&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionName), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionTable = { 2, 1, true, JSTestExceptionTableValues, 0 };
</del><ins>+static const HashTable JSTestExceptionTable = { 5, 3, true, JSTestExceptionTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestExceptionConstructorTableValues[] =
</span><span class="lines">@@ -71,11 +72,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestExceptionPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionPrototypeTable = { 2, 1, true, JSTestExceptionPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestExceptionPrototypeTable = { 1, 0, false, JSTestExceptionPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestExceptionPrototype::s_info = { &quot;TestExceptionPrototype&quot;, &amp;Base::s_info, &amp;JSTestExceptionPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestExceptionPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -83,12 +83,6 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestException&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestExceptionPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestExceptionPrototype* thisObject = jsCast&lt;JSTestExceptionPrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestExceptionPrototype, JSObject&gt;(exec, JSTestExceptionPrototypeTable, thisObject, propertyName, slot);
-}
-
</del><span class="cx"> const ClassInfo JSTestException::s_info = { &quot;TestException&quot;, &amp;Base::s_info, &amp;JSTestExceptionTable, 0 , CREATE_METHOD_TABLE(JSTestException) };
</span><span class="cx"> 
</span><span class="cx"> JSTestException::JSTestException(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestException&gt; impl)
</span><span class="lines">@@ -139,11 +133,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestExceptionConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestExceptionConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestExceptionPrototype* domObject = jsDynamicCast&lt;JSTestExceptionPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestException* domObject = jsDynamicCast&lt;JSTestException*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestException::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestExceptionh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -111,7 +110,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestExceptionPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestExceptionConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -28,6 +28,15 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+/* Hash table */
+
+static const HashTableValue JSTestGenerateIsReachableTableValues[] =
+{
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestGenerateIsReachableTable = { 2, 1, true, JSTestGenerateIsReachableTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestGenerateIsReachableConstructorTableValues[] =
</span><span class="lines">@@ -60,11 +69,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestGenerateIsReachablePrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachablePrototypeTable = { 2, 1, true, JSTestGenerateIsReachablePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestGenerateIsReachablePrototypeTable = { 1, 0, false, JSTestGenerateIsReachablePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { &quot;TestGenerateIsReachablePrototype&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachablePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestGenerateIsReachablePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -72,14 +80,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestGenerateIsReachable&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestGenerateIsReachablePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestGenerateIsReachablePrototype* thisObject = jsCast&lt;JSTestGenerateIsReachablePrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestGenerateIsReachablePrototype, JSObject&gt;(exec, JSTestGenerateIsReachablePrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSTestGenerateIsReachable::s_info = { &quot;TestGenerateIsReachable&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachableTable, 0 , CREATE_METHOD_TABLE(JSTestGenerateIsReachable) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSTestGenerateIsReachable::s_info = { &quot;TestGenerateIsReachable&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestGenerateIsReachable) };
-
</del><span class="cx"> JSTestGenerateIsReachable::JSTestGenerateIsReachable(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestGenerateIsReachable&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -112,14 +114,12 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestGenerateIsReachable* thisObject = jsCast&lt;JSTestGenerateIsReachable*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestGenerateIsReachable, Base&gt;(exec, JSTestGenerateIsReachableTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestGenerateIsReachableConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestGenerateIsReachableConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestGenerateIsReachablePrototype* domObject = jsDynamicCast&lt;JSTestGenerateIsReachablePrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestGenerateIsReachable* domObject = jsDynamicCast&lt;JSTestGenerateIsReachable*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestGenerateIsReachable::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -111,7 +110,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestGenerateIsReachablePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestGenerateIsReachableConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -52,15 +52,34 @@
</span><span class="cx"> static const HashTableValue JSTestInterfaceTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><ins>+    { &quot;implementsStr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+#endif
+#if ENABLE(Condition22) || ENABLE(Condition23)
+    { &quot;implementsStr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr2) },
+#endif
+#if ENABLE(Condition22) || ENABLE(Condition23)
</ins><span class="cx">     { &quot;implementsStr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr3) },
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(Condition22) || ENABLE(Condition23)
+    { &quot;implementsNode&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsNode) },
+#endif
</ins><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><ins>+    { &quot;supplementalStr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+#endif
+#if ENABLE(Condition11) || ENABLE(Condition12)
+    { &quot;supplementalStr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr2) },
+#endif
+#if ENABLE(Condition11) || ENABLE(Condition12)
</ins><span class="cx">     { &quot;supplementalStr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr3) },
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(Condition11) || ENABLE(Condition12)
+    { &quot;supplementalNode&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalNode) },
+#endif
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfaceTable = { 4, 3, true, JSTestInterfaceTableValues, 0 };
</del><ins>+static const HashTable JSTestInterfaceTable = { 33, 31, true, JSTestInterfaceTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestInterfaceConstructorTableValues[] =
</span><span class="lines">@@ -168,26 +187,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestInterfacePrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsStr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
-    { &quot;implementsStr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr2) },
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
-    { &quot;implementsNode&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsNode) },
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-    { &quot;supplementalStr1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-    { &quot;supplementalStr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr2) },
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-    { &quot;supplementalNode&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalNode) },
-#endif
-#if ENABLE(Condition22) || ENABLE(Condition23)
</del><span class="cx">     { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfacePrototypeTable = { 65, 63, true, JSTestInterfacePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestInterfacePrototypeTable = { 34, 31, true, JSTestInterfacePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestInterfacePrototype::s_info = { &quot;TestInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -433,11 +433,9 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestInterfaceConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestInterfaceConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestInterfacePrototype* domObject = jsDynamicCast&lt;JSTestInterfacePrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestInterface* domObject = jsDynamicCast&lt;JSTestInterface*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestInterface::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -32,6 +32,15 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+/* Hash table */
+
+static const HashTableValue JSTestMediaQueryListListenerTableValues[] =
+{
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestMediaQueryListListenerConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestMediaQueryListListenerTable = { 2, 1, true, JSTestMediaQueryListListenerTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestMediaQueryListListenerConstructorTableValues[] =
</span><span class="lines">@@ -64,12 +73,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestMediaQueryListListenerConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { &quot;method&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t) (1) },
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 4, 3, true, JSTestMediaQueryListListenerPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 2, 1, false, JSTestMediaQueryListListenerPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { &quot;TestMediaQueryListListenerPrototype&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestMediaQueryListListenerPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -80,10 +88,10 @@
</span><span class="cx"> bool JSTestMediaQueryListListenerPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     JSTestMediaQueryListListenerPrototype* thisObject = jsCast&lt;JSTestMediaQueryListListenerPrototype*&gt;(object);
</span><del>-    return getStaticPropertySlot&lt;JSTestMediaQueryListListenerPrototype, JSObject&gt;(exec, JSTestMediaQueryListListenerPrototypeTable, thisObject, propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSObject&gt;(exec, JSTestMediaQueryListListenerPrototypeTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-const ClassInfo JSTestMediaQueryListListener::s_info = { &quot;TestMediaQueryListListener&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestMediaQueryListListener) };
</del><ins>+const ClassInfo JSTestMediaQueryListListener::s_info = { &quot;TestMediaQueryListListener&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerTable, 0 , CREATE_METHOD_TABLE(JSTestMediaQueryListListener) };
</ins><span class="cx"> 
</span><span class="cx"> JSTestMediaQueryListListener::JSTestMediaQueryListListener(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestMediaQueryListListener&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="lines">@@ -117,14 +125,12 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestMediaQueryListListener* thisObject = jsCast&lt;JSTestMediaQueryListListener*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestMediaQueryListListener, Base&gt;(exec, JSTestMediaQueryListListenerTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestMediaQueryListListenerConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestMediaQueryListListenerConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestMediaQueryListListenerPrototype* domObject = jsDynamicCast&lt;JSTestMediaQueryListListenerPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestMediaQueryListListener* domObject = jsDynamicCast&lt;JSTestMediaQueryListListener*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestMediaQueryListListener::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -33,6 +33,15 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><ins>+static const HashTableValue JSTestNamedConstructorTableValues[] =
+{
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNamedConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestNamedConstructorTable = { 2, 1, true, JSTestNamedConstructorTableValues, 0 };
+/* Hash table for constructor */
+
</ins><span class="cx"> static const HashTableValue JSTestNamedConstructorConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="lines">@@ -107,11 +116,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNamedConstructorPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNamedConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorPrototypeTable = { 2, 1, true, JSTestNamedConstructorPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestNamedConstructorPrototypeTable = { 1, 0, false, JSTestNamedConstructorPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNamedConstructorPrototype::s_info = { &quot;TestNamedConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNamedConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -119,14 +127,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestNamedConstructor&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestNamedConstructorPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestNamedConstructorPrototype* thisObject = jsCast&lt;JSTestNamedConstructorPrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestNamedConstructorPrototype, JSObject&gt;(exec, JSTestNamedConstructorPrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSTestNamedConstructor::s_info = { &quot;TestNamedConstructor&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorTable, 0 , CREATE_METHOD_TABLE(JSTestNamedConstructor) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSTestNamedConstructor::s_info = { &quot;TestNamedConstructor&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestNamedConstructor) };
-
</del><span class="cx"> JSTestNamedConstructor::JSTestNamedConstructor(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestNamedConstructor&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -159,14 +161,12 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestNamedConstructor* thisObject = jsCast&lt;JSTestNamedConstructor*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestNamedConstructor, Base&gt;(exec, JSTestNamedConstructorTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestNamedConstructorConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestNamedConstructorConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestNamedConstructorPrototype* domObject = jsDynamicCast&lt;JSTestNamedConstructorPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestNamedConstructor* domObject = jsDynamicCast&lt;JSTestNamedConstructor*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestNamedConstructor::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNamedConstructorh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -104,7 +104,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -113,7 +112,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestNamedConstructorPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestNamedConstructorConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -31,6 +31,15 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+/* Hash table */
+
+static const HashTableValue JSTestNodeTableValues[] =
+{
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNodeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestNodeTable = { 2, 1, true, JSTestNodeTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNodeConstructorTableValues[] =
</span><span class="lines">@@ -76,11 +85,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNodePrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNodeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodePrototypeTable = { 2, 1, true, JSTestNodePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestNodePrototypeTable = { 1, 0, false, JSTestNodePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNodePrototype::s_info = { &quot;TestNodePrototype&quot;, &amp;Base::s_info, &amp;JSTestNodePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNodePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNodePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -88,14 +96,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestNode&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestNodePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestNodePrototype* thisObject = jsCast&lt;JSTestNodePrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestNodePrototype, JSObject&gt;(exec, JSTestNodePrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSTestNode::s_info = { &quot;TestNode&quot;, &amp;Base::s_info, &amp;JSTestNodeTable, 0 , CREATE_METHOD_TABLE(JSTestNode) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSTestNode::s_info = { &quot;TestNode&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestNode) };
-
</del><span class="cx"> JSTestNode::JSTestNode(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestNode&gt; impl)
</span><span class="cx">     : JSNode(structure, globalObject, impl)
</span><span class="cx"> {
</span><span class="lines">@@ -116,14 +118,12 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestNode* thisObject = jsCast&lt;JSTestNode*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestNode, Base&gt;(exec, JSTestNodeTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestNodeConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestNodeConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestNodePrototype* domObject = jsDynamicCast&lt;JSTestNodePrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestNode* domObject = jsDynamicCast&lt;JSTestNode*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestNode::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestNodeh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -73,7 +73,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -82,7 +81,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestNodePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesVisitChildren | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = JSC::OverridesVisitChildren | Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestNodeConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -77,9 +77,55 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestObjTableValues[] =
</span><span class="cx"> {
</span><ins>+    { &quot;readOnlyLongAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;readOnlyStringAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;readOnlyTestObjAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyTestObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { &quot;TestSubObjEnabledBySetting&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestSubObjEnabledBySettingConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTestSubObjEnabledBySettingConstructor) },
</span><ins>+    { &quot;enumAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjEnumAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjEnumAttr) },
+    { &quot;byteAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjByteAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjByteAttr) },
+    { &quot;octetAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjOctetAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjOctetAttr) },
+    { &quot;shortAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjShortAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjShortAttr) },
+    { &quot;unsignedShortAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedShortAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjUnsignedShortAttr) },
+    { &quot;longAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjLongAttr) },
+    { &quot;longLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjLongLongAttr) },
+    { &quot;unsignedLongLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjUnsignedLongLongAttr) },
+    { &quot;stringAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttr) },
+    { &quot;testObjAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTestObjAttr) },
+    { &quot;XMLObjAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjXMLObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjXMLObjAttr) },
+    { &quot;create&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCreate), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCreate) },
+    { &quot;reflectedStringAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedStringAttr) },
+    { &quot;reflectedIntegralAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedIntegralAttr) },
+    { &quot;reflectedUnsignedIntegralAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedUnsignedIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedUnsignedIntegralAttr) },
+    { &quot;reflectedBooleanAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedBooleanAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedBooleanAttr) },
+    { &quot;reflectedURLAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedURLAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedURLAttr) },
+    { &quot;reflectedStringAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedStringAttr) },
+    { &quot;reflectedCustomIntegralAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomIntegralAttr) },
+    { &quot;reflectedCustomBooleanAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomBooleanAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomBooleanAttr) },
+    { &quot;reflectedCustomURLAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomURLAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomURLAttr) },
+    { &quot;typedArrayAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTypedArrayAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTypedArrayAttr) },
+    { &quot;attrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttrWithGetterException) },
+    { &quot;attrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttrWithSetterException) },
+    { &quot;stringAttrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithGetterException) },
+    { &quot;stringAttrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithSetterException) },
</ins><span class="cx">     { &quot;customAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCustomAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCustomAttr) },
</span><ins>+    { &quot;withScriptStateAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptStateAttribute) },
+    { &quot;withScriptExecutionContextAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAttribute) },
+    { &quot;withScriptStateAttributeRaises&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptStateAttributeRaises) },
+    { &quot;withScriptExecutionContextAttributeRaises&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAttributeRaises) },
+    { &quot;withScriptExecutionContextAndScriptStateAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateAttribute) },
+    { &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises) },
+    { &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute) },
+    { &quot;withScriptArgumentsAndCallStackAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptArgumentsAndCallStackAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptArgumentsAndCallStackAttribute) },
</ins><span class="cx"> #if ENABLE(Condition1)
</span><ins>+    { &quot;conditionalAttr1&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr1) },
+#endif
+#if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
+    { &quot;conditionalAttr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr2) },
+#endif
+#if ENABLE(Condition1) || ENABLE(Condition2)
+    { &quot;conditionalAttr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr3) },
+#endif
+#if ENABLE(Condition1)
</ins><span class="cx">     { &quot;conditionalAttr4&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr4Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr4Constructor) },
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><span class="lines">@@ -88,11 +134,31 @@
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx">     { &quot;conditionalAttr6&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr6Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr6Constructor) },
</span><span class="cx"> #endif
</span><ins>+    { &quot;cachedAttribute1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;cachedAttribute2&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;anyAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAnyAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAnyAttribute) },
</ins><span class="cx">     { &quot;contentDocument&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjContentDocument), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><ins>+    { &quot;mutablePoint&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjMutablePoint), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjMutablePoint) },
+    { &quot;immutablePoint&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjImmutablePoint), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjImmutablePoint) },
+    { &quot;strawberry&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrawberry), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStrawberry) },
+    { &quot;strictFloat&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrictFloat), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStrictFloat) },
+    { &quot;description&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjDescription), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;id&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjId), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjId) },
+    { &quot;hash&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjHash), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;replaceableAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReplaceableAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReplaceableAttribute) },
+    { &quot;nullableDoubleAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableDoubleAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableLongAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableBooleanAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableBooleanAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableStringAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableLongSettableAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongSettableAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjNullableLongSettableAttribute) },
+    { &quot;nullableStringValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjNullableStringValue) },
+    { &quot;attribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;attributeWithReservedEnumType&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithReservedEnumType), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithReservedEnumType) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjTable = { 17, 15, true, JSTestObjTableValues, 0 };
</del><ins>+static const HashTable JSTestObjTable = { 266, 255, true, JSTestObjTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestObjConstructorTableValues[] =
</span><span class="lines">@@ -188,73 +254,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestObjPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;readOnlyLongAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;readOnlyStringAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;readOnlyTestObjAttr&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyTestObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;enumAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjEnumAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjEnumAttr) },
-    { &quot;byteAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjByteAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjByteAttr) },
-    { &quot;octetAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjOctetAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjOctetAttr) },
-    { &quot;shortAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjShortAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjShortAttr) },
-    { &quot;unsignedShortAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedShortAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjUnsignedShortAttr) },
-    { &quot;longAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjLongAttr) },
-    { &quot;longLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjLongLongAttr) },
-    { &quot;unsignedLongLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjUnsignedLongLongAttr) },
-    { &quot;stringAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttr) },
-    { &quot;testObjAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTestObjAttr) },
-    { &quot;XMLObjAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjXMLObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjXMLObjAttr) },
-    { &quot;create&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCreate), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCreate) },
-    { &quot;reflectedStringAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedStringAttr) },
-    { &quot;reflectedIntegralAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedIntegralAttr) },
-    { &quot;reflectedUnsignedIntegralAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedUnsignedIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedUnsignedIntegralAttr) },
-    { &quot;reflectedBooleanAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedBooleanAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedBooleanAttr) },
-    { &quot;reflectedURLAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedURLAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedURLAttr) },
-    { &quot;reflectedStringAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedStringAttr) },
-    { &quot;reflectedCustomIntegralAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomIntegralAttr) },
-    { &quot;reflectedCustomBooleanAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomBooleanAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomBooleanAttr) },
-    { &quot;reflectedCustomURLAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomURLAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomURLAttr) },
-    { &quot;typedArrayAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTypedArrayAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTypedArrayAttr) },
-    { &quot;attrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttrWithGetterException) },
-    { &quot;attrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttrWithSetterException) },
-    { &quot;stringAttrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithGetterException) },
-    { &quot;stringAttrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithSetterException) },
-    { &quot;withScriptStateAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptStateAttribute) },
-    { &quot;withScriptExecutionContextAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAttribute) },
-    { &quot;withScriptStateAttributeRaises&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptStateAttributeRaises) },
-    { &quot;withScriptExecutionContextAttributeRaises&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAttributeRaises) },
-    { &quot;withScriptExecutionContextAndScriptStateAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateAttribute) },
-    { &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises) },
-    { &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute) },
-    { &quot;withScriptArgumentsAndCallStackAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptArgumentsAndCallStackAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptArgumentsAndCallStackAttribute) },
</del><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;conditionalAttr1&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr1) },
-#endif
-#if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
-    { &quot;conditionalAttr2&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr2) },
-#endif
-#if ENABLE(Condition1) || ENABLE(Condition2)
-    { &quot;conditionalAttr3&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr3) },
-#endif
-    { &quot;cachedAttribute1&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;cachedAttribute2&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;anyAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAnyAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAnyAttribute) },
-    { &quot;mutablePoint&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjMutablePoint), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjMutablePoint) },
-    { &quot;immutablePoint&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjImmutablePoint), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjImmutablePoint) },
-    { &quot;strawberry&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrawberry), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStrawberry) },
-    { &quot;strictFloat&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrictFloat), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStrictFloat) },
-    { &quot;description&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjDescription), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;id&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjId), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjId) },
-    { &quot;hash&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjHash), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;replaceableAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReplaceableAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReplaceableAttribute) },
-    { &quot;nullableDoubleAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableDoubleAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;nullableLongAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;nullableBooleanAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableBooleanAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;nullableStringAttribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;nullableLongSettableAttribute&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongSettableAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjNullableLongSettableAttribute) },
-    { &quot;nullableStringValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjNullableStringValue) },
-    { &quot;attribute&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;attributeWithReservedEnumType&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithReservedEnumType), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithReservedEnumType) },
-#if ENABLE(Condition1)
</del><span class="cx">     { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="cx"> #endif
</span><span class="cx">     { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjPrototypeTable = { 530, 511, true, JSTestObjPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestObjPrototypeTable = { 267, 255, true, JSTestObjPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestObjPrototype::s_info = { &quot;TestObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestObjPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestObjPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -1307,11 +1307,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestObjConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestObjConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestObjPrototype* domObject = jsDynamicCast&lt;JSTestObjPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestObj* domObject = jsDynamicCast&lt;JSTestObj*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestObj::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -34,6 +34,15 @@
</span><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><ins>+static const HashTableValue JSTestOverloadedConstructorsTableValues[] =
+{
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestOverloadedConstructorsTable = { 2, 1, true, JSTestOverloadedConstructorsTableValues, 0 };
+/* Hash table for constructor */
+
</ins><span class="cx"> static const HashTableValue JSTestOverloadedConstructorsConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="lines">@@ -135,11 +144,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestOverloadedConstructorsPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 2, 1, true, JSTestOverloadedConstructorsPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 1, 0, false, JSTestOverloadedConstructorsPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { &quot;TestOverloadedConstructorsPrototype&quot;, &amp;Base::s_info, &amp;JSTestOverloadedConstructorsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestOverloadedConstructorsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -147,14 +155,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestOverloadedConstructors&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestOverloadedConstructorsPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestOverloadedConstructorsPrototype* thisObject = jsCast&lt;JSTestOverloadedConstructorsPrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestOverloadedConstructorsPrototype, JSObject&gt;(exec, JSTestOverloadedConstructorsPrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSTestOverloadedConstructors::s_info = { &quot;TestOverloadedConstructors&quot;, &amp;Base::s_info, &amp;JSTestOverloadedConstructorsTable, 0 , CREATE_METHOD_TABLE(JSTestOverloadedConstructors) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSTestOverloadedConstructors::s_info = { &quot;TestOverloadedConstructors&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestOverloadedConstructors) };
-
</del><span class="cx"> JSTestOverloadedConstructors::JSTestOverloadedConstructors(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestOverloadedConstructors&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -187,14 +189,12 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestOverloadedConstructors* thisObject = jsCast&lt;JSTestOverloadedConstructors*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestOverloadedConstructors, Base&gt;(exec, JSTestOverloadedConstructorsTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestOverloadedConstructorsConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestOverloadedConstructorsConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestOverloadedConstructorsPrototype* domObject = jsDynamicCast&lt;JSTestOverloadedConstructorsPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestOverloadedConstructors* domObject = jsDynamicCast&lt;JSTestOverloadedConstructors*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestOverloadedConstructors::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -111,7 +110,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestOverloadedConstructorsPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverloadedConstructorsConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -35,6 +35,20 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+/* Hash table */
+
+static const HashTableValue JSTestSerializedScriptValueInterfaceTableValues[] =
+{
+    { &quot;value&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceValue) },
+    { &quot;readonlyValue&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;cachedValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceCachedValue) },
+    { &quot;ports&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfacePorts), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;cachedReadonlyValue&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSTestSerializedScriptValueInterfaceTable = { 17, 15, true, JSTestSerializedScriptValueInterfaceTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestSerializedScriptValueInterfaceConstructorTableValues[] =
</span><span class="lines">@@ -67,16 +81,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestSerializedScriptValueInterfacePrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;value&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceValue) },
-    { &quot;readonlyValue&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;cachedValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceCachedValue) },
-    { &quot;ports&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfacePorts), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;cachedReadonlyValue&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 17, 15, true, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 1, 0, false, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { &quot;TestSerializedScriptValueInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestSerializedScriptValueInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -84,14 +92,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSTestSerializedScriptValueInterface&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSTestSerializedScriptValueInterfacePrototype* thisObject = jsCast&lt;JSTestSerializedScriptValueInterfacePrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSTestSerializedScriptValueInterfacePrototype, JSObject&gt;(exec, JSTestSerializedScriptValueInterfacePrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSTestSerializedScriptValueInterface::s_info = { &quot;TestSerializedScriptValueInterface&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfaceTable, 0 , CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterface) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSTestSerializedScriptValueInterface::s_info = { &quot;TestSerializedScriptValueInterface&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterface) };
-
</del><span class="cx"> JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;TestSerializedScriptValueInterface&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -124,7 +126,7 @@
</span><span class="cx"> {
</span><span class="cx">     JSTestSerializedScriptValueInterface* thisObject = jsCast&lt;JSTestSerializedScriptValueInterface*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSTestSerializedScriptValueInterface, Base&gt;(exec, JSTestSerializedScriptValueInterfaceTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestSerializedScriptValueInterfaceValue(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)
</span><span class="lines">@@ -198,11 +200,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestSerializedScriptValueInterfaceConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestSerializedScriptValueInterfaceConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestSerializedScriptValueInterfacePrototype* domObject = jsDynamicCast&lt;JSTestSerializedScriptValueInterfacePrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestSerializedScriptValueInterface* domObject = jsDynamicCast&lt;JSTestSerializedScriptValueInterface*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestSerializedScriptValueInterface::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -108,7 +108,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -117,7 +116,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSTestSerializedScriptValueInterfacePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesVisitChildren | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = JSC::OverridesVisitChildren | Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestSerializedScriptValueInterfaceConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -47,10 +47,17 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestTypedefsTableValues[] =
</span><span class="cx"> {
</span><ins>+    { &quot;unsignedLongLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsUnsignedLongLongAttr) },
+    { &quot;immutableSerializedScriptValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsImmutableSerializedScriptValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsImmutableSerializedScriptValue) },
+    { &quot;attrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsAttrWithGetterException) },
+    { &quot;attrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsAttrWithSetterException) },
+    { &quot;stringAttrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsStringAttrWithGetterException) },
+    { &quot;stringAttrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsStringAttrWithSetterException) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsTable = { 2, 1, false, JSTestTypedefsTableValues, 0 };
</del><ins>+static const HashTable JSTestTypedefsTable = { 18, 15, true, JSTestTypedefsTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestTypedefsConstructorTableValues[] =
</span><span class="lines">@@ -105,13 +112,6 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestTypedefsPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;unsignedLongLongAttr&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsUnsignedLongLongAttr) },
-    { &quot;immutableSerializedScriptValue&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsImmutableSerializedScriptValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsImmutableSerializedScriptValue) },
-    { &quot;attrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsAttrWithGetterException) },
-    { &quot;attrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsAttrWithSetterException) },
-    { &quot;stringAttrWithGetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsStringAttrWithGetterException) },
-    { &quot;stringAttrWithSetterException&quot;, DontDelete | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsStringAttrWithSetterException) },
</del><span class="cx">     { &quot;func&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFunc), (intptr_t) (0) },
</span><span class="cx">     { &quot;setShadow&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionSetShadow), (intptr_t) (3) },
</span><span class="cx">     { &quot;methodWithSequenceArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithSequenceArg), (intptr_t) (1) },
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsPrototypeTable = { 66, 63, true, JSTestTypedefsPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestTypedefsPrototypeTable = { 33, 31, false, JSTestTypedefsPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestTypedefsPrototype::s_info = { &quot;TestTypedefsPrototype&quot;, &amp;Base::s_info, &amp;JSTestTypedefsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestTypedefsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx"> bool JSTestTypedefsPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     JSTestTypedefsPrototype* thisObject = jsCast&lt;JSTestTypedefsPrototype*&gt;(object);
</span><del>-    return getStaticPropertySlot&lt;JSTestTypedefsPrototype, JSObject&gt;(exec, JSTestTypedefsPrototypeTable, thisObject, propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSObject&gt;(exec, JSTestTypedefsPrototypeTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo JSTestTypedefs::s_info = { &quot;TestTypedefs&quot;, &amp;Base::s_info, &amp;JSTestTypedefsTable, 0 , CREATE_METHOD_TABLE(JSTestTypedefs) };
</span><span class="lines">@@ -266,11 +266,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsTestTypedefsConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsTestTypedefsConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSTestTypedefsPrototype* domObject = jsDynamicCast&lt;JSTestTypedefsPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSTestTypedefs* domObject = jsDynamicCast&lt;JSTestTypedefs*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSTestTypedefs::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -30,6 +30,16 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+/* Hash table */
+
+static const HashTableValue JSattributeTableValues[] =
+{
+    { &quot;readonly&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeReadonly), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSattributeTable = { 4, 3, true, JSattributeTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSattributeConstructorTableValues[] =
</span><span class="lines">@@ -62,12 +72,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSattributePrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
-    { &quot;readonly&quot;, DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeReadonly), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributePrototypeTable = { 4, 3, true, JSattributePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSattributePrototypeTable = { 1, 0, false, JSattributePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSattributePrototype::s_info = { &quot;attributePrototype&quot;, &amp;Base::s_info, &amp;JSattributePrototypeTable, 0, CREATE_METHOD_TABLE(JSattributePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSattributePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -75,14 +83,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSattribute&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSattributePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSattributePrototype* thisObject = jsCast&lt;JSattributePrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSattributePrototype, JSObject&gt;(exec, JSattributePrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSattribute::s_info = { &quot;attribute&quot;, &amp;Base::s_info, &amp;JSattributeTable, 0 , CREATE_METHOD_TABLE(JSattribute) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSattribute::s_info = { &quot;attribute&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSattribute) };
-
</del><span class="cx"> JSattribute::JSattribute(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;attribute&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -115,7 +117,7 @@
</span><span class="cx"> {
</span><span class="cx">     JSattribute* thisObject = jsCast&lt;JSattribute*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSattribute, Base&gt;(exec, JSattributeTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsattributeReadonly(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)
</span><span class="lines">@@ -131,11 +133,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedJSValue jsattributeConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsattributeConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSattributePrototype* domObject = jsDynamicCast&lt;JSattributePrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSattribute* domObject = jsDynamicCast&lt;JSattribute*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSattribute::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSattributeh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -111,7 +110,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSattributePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSattributeConstructor : public DOMConstructorObject {
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -28,6 +28,15 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+/* Hash table */
+
+static const HashTableValue JSreadonlyTableValues[] =
+{
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsreadonlyConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { 0, 0, NoIntrinsic, 0, 0 }
+};
+
+static const HashTable JSreadonlyTable = { 2, 1, true, JSreadonlyTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSreadonlyConstructorTableValues[] =
</span><span class="lines">@@ -60,11 +69,10 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSreadonlyPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsreadonlyConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</del><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyPrototypeTable = { 2, 1, true, JSreadonlyPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSreadonlyPrototypeTable = { 1, 0, false, JSreadonlyPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSreadonlyPrototype::s_info = { &quot;readonlyPrototype&quot;, &amp;Base::s_info, &amp;JSreadonlyPrototypeTable, 0, CREATE_METHOD_TABLE(JSreadonlyPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSreadonlyPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -72,14 +80,8 @@
</span><span class="cx">     return getDOMPrototype&lt;JSreadonly&gt;(vm, globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSreadonlyPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
-{
-    JSreadonlyPrototype* thisObject = jsCast&lt;JSreadonlyPrototype*&gt;(object);
-    return getStaticPropertySlot&lt;JSreadonlyPrototype, JSObject&gt;(exec, JSreadonlyPrototypeTable, thisObject, propertyName, slot);
-}
</del><ins>+const ClassInfo JSreadonly::s_info = { &quot;readonly&quot;, &amp;Base::s_info, &amp;JSreadonlyTable, 0 , CREATE_METHOD_TABLE(JSreadonly) };
</ins><span class="cx"> 
</span><del>-const ClassInfo JSreadonly::s_info = { &quot;readonly&quot;, &amp;Base::s_info, 0, 0 , CREATE_METHOD_TABLE(JSreadonly) };
-
</del><span class="cx"> JSreadonly::JSreadonly(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr&lt;readonly&gt; impl)
</span><span class="cx">     : JSDOMWrapper(structure, globalObject)
</span><span class="cx">     , m_impl(impl.leakRef())
</span><span class="lines">@@ -112,14 +114,12 @@
</span><span class="cx"> {
</span><span class="cx">     JSreadonly* thisObject = jsCast&lt;JSreadonly*&gt;(object);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><del>-    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;JSreadonly, Base&gt;(exec, JSreadonlyTable, thisObject, propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue jsreadonlyConstructor(ExecState* exec, EncodedJSValue baseValue, EncodedJSValue thisValue, PropertyName)
</del><ins>+EncodedJSValue jsreadonlyConstructor(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
</ins><span class="cx"> {
</span><del>-    UNUSED_PARAM(baseValue);
-    UNUSED_PARAM(thisValue);
-    JSreadonlyPrototype* domObject = jsDynamicCast&lt;JSreadonlyPrototype*&gt;(JSValue::decode(baseValue));
</del><ins>+    JSreadonly* domObject = jsDynamicCast&lt;JSreadonly*&gt;(JSValue::decode(thisValue));
</ins><span class="cx">     if (!domObject)
</span><span class="cx">         return throwVMTypeError(exec);
</span><span class="cx">     return JSValue::encode(JSreadonly::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span></span></pre></div>
<a id="tagsSafari538161SourceWebCorebindingsscriptstestJSJSreadonlyh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h (163394 => 163395)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2014-02-04 19:32:56 UTC (rev 163394)
+++ tags/Safari-538.16.1/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2014-02-04 19:36:48 UTC (rev 163395)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><del>-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</del><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="cx">     {
</span><span class="cx">         return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
</span><span class="lines">@@ -111,7 +110,7 @@
</span><span class="cx"> private:
</span><span class="cx">     JSreadonlyPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSreadonlyConstructor : public DOMConstructorObject {
</span></span></pre>
</div>
</div>

</body>
</html>