<!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>[170167] trunk/Source/WebCore</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/170167">170167</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2014-06-19 16:42:24 -0700 (Thu, 19 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Move generate prototype and constructor classes into the generated implementation files
https://bugs.webkit.org/show_bug.cgi?id=134054

Reviewed by Oliver Hunt.

In an effort to reduce the size of the generated bindings headers, which is important
as the generated headers get included in a lot of places, this patch moves the prototype
and constructor declarations from the header to implementation file. This works because,
for the most part, no code cares about the prototype or constructors except the instance.

There are a few exceptions which had to be accounted for:
- The global objects (JSDOMWindow and JSWorkerGlobalScope) need to have their prototypes
  available during initialization, so they remain in the header.
- JSLocation requires customizing some aspects of the prototype behavior, so its prototype,
  and any future class that uses JSCustomNamedGetterOnPrototype or JSCustomDefineOwnPropertyOnPrototype,
  remains in the header.
- A few classes had custom constructor functions. Instead of keeping the entire constructor
  in the header, I opted for pulling just the static constructor function into the header, and
  modifying the custom constructors to use the DOMConstructorObject type as the callee, since the
  more specific type was unnecessary.

As a result of making these changes, I was also able to remove the #include of JSDOMBinding.h from
all the headers, which brought in quite a bit.

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::constructJSAudioContext):
(WebCore::JSAudioContextConstructor::constructJSAudioContext): Deleted.
* bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
(WebCore::JSBlobConstructor::constructJSBlob): Deleted.
* bindings/js/JSCryptoCustom.cpp:
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::constructJSDOMFormData):
(WebCore::JSDOMFormDataConstructor::constructJSDOMFormData): Deleted.
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
* bindings/js/JSDOMPluginArrayCustom.cpp:
* bindings/js/JSDOMPluginCustom.cpp:
* bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
(WebCore::JSDataCueConstructor::constructJSDataCue): Deleted.
* bindings/js/JSDataTransferCustom.cpp:
* bindings/js/JSEventCustom.cpp:
* bindings/js/JSFileReaderCustom.cpp:
* bindings/js/JSHistoryCustom.cpp:
* bindings/js/JSIDBAnyCustom.cpp:
* bindings/js/JSIDBDatabaseCustom.cpp:
* bindings/js/JSIDBObjectStoreCustom.cpp:
* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::finishCreation):
* bindings/js/JSImageDataCustom.cpp:
* bindings/js/JSInspectorFrontendHostCustom.cpp:
* bindings/js/JSLocationCustom.cpp:
* bindings/js/JSMessagePortCustom.cpp:
* bindings/js/JSMutationObserverCustom.cpp:
(WebCore::constructJSMutationObserver):
(WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Deleted.
* bindings/js/JSSQLResultSetRowListCustom.cpp:
* bindings/js/JSSQLTransactionSyncCustom.cpp:
* bindings/js/JSSVGLengthCustom.cpp:
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::constructJSSharedWorker):
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Deleted.
* bindings/js/JSStorageCustom.cpp:
* bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
* bindings/js/JSWebKitPointCustom.cpp:
(WebCore::constructJSWebKitPoint):
(WebCore::JSWebKitPointConstructor::constructJSWebKitPoint): Deleted.
* bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
(WebCore::JSWorkerConstructor::constructJSWorker): Deleted.
* bindings/js/SerializedScriptValue.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GeneratePrototypeDeclaration):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):
(HeaderNeedsPrototypeDeclaration):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
* bindings/scripts/test/JS/JSTestNondeterministic.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
* bindings/scripts/test/JS/JSreadonly.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSAudioBufferSourceNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSAudioContextCustomcpp">trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBiquadFilterNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBlobCustomcpp">trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCryptoCustomcpp">trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCryptoKeyCustomcpp">trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCryptoKeyPairCustomcpp">trunk/Source/WebCore/bindings/js/JSCryptoKeyPairCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMFormDataCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMMimeTypeArrayCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMPluginArrayCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMPluginCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMStringListCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDataCueCustomcpp">trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDataTransferCustomcpp">trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventCustomcpp">trunk/Source/WebCore/bindings/js/JSEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSFileReaderCustomcpp">trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHistoryCustomcpp">trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBAnyCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBDatabaseCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSIDBObjectStoreCustomcpp">trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSImageConstructorcpp">trunk/Source/WebCore/bindings/js/JSImageConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSImageDataCustomcpp">trunk/Source/WebCore/bindings/js/JSImageDataCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSInspectorFrontendHostCustomcpp">trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSLocationCustomcpp">trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMediaSourceStatesCustomcpp">trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMediaStreamCapabilitiesCustomcpp">trunk/Source/WebCore/bindings/js/JSMediaStreamCapabilitiesCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessageChannelCustomcpp">trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessagePortCustomcpp">trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMutationObserverCustomcpp">trunk/Source/WebCore/bindings/js/JSMutationObserverCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeIteratorCustomcpp">trunk/Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSOscillatorNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPannerNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPopStateEventCustomcpp">trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSRTCIceCandidateCustomcpp">trunk/Source/WebCore/bindings/js/JSRTCIceCandidateCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSRTCPeerConnectionCustomcpp">trunk/Source/WebCore/bindings/js/JSRTCPeerConnectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSRTCSessionDescriptionCustomcpp">trunk/Source/WebCore/bindings/js/JSRTCSessionDescriptionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSRTCStatsResponseCustomcpp">trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSQLResultSetRowListCustomcpp">trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSQLTransactionSyncCustomcpp">trunk/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSVGLengthCustomcpp">trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSSharedWorkerCustomcpp">trunk/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSStorageCustomcpp">trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSTouchCustomcpp">trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSTouchListCustomcpp">trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSTreeWalkerCustomcpp">trunk/Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSUserMessageHandlersNamespaceCustomcpp">trunk/Source/WebCore/bindings/js/JSUserMessageHandlersNamespaceCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWebKitPointCustomcpp">trunk/Source/WebCore/bindings/js/JSWebKitPointCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWorkerCustomcpp">trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWorkerGlobalScopeBasecpp">trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValuecpp">trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodeh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributeh">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlyh">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/ChangeLog        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -1,3 +1,119 @@
</span><ins>+2014-06-18  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Move generate prototype and constructor classes into the generated implementation files
+        https://bugs.webkit.org/show_bug.cgi?id=134054
+
+        Reviewed by Oliver Hunt.
+
+        In an effort to reduce the size of the generated bindings headers, which is important
+        as the generated headers get included in a lot of places, this patch moves the prototype
+        and constructor declarations from the header to implementation file. This works because,
+        for the most part, no code cares about the prototype or constructors except the instance.
+
+        There are a few exceptions which had to be accounted for:
+        - The global objects (JSDOMWindow and JSWorkerGlobalScope) need to have their prototypes
+          available during initialization, so they remain in the header.
+        - JSLocation requires customizing some aspects of the prototype behavior, so its prototype,
+          and any future class that uses JSCustomNamedGetterOnPrototype or JSCustomDefineOwnPropertyOnPrototype,
+          remains in the header.
+        - A few classes had custom constructor functions. Instead of keeping the entire constructor
+          in the header, I opted for pulling just the static constructor function into the header, and
+          modifying the custom constructors to use the DOMConstructorObject type as the callee, since the
+          more specific type was unnecessary.
+
+        As a result of making these changes, I was also able to remove the #include of JSDOMBinding.h from
+        all the headers, which brought in quite a bit.
+
+        * bindings/js/JSAudioContextCustom.cpp:
+        (WebCore::constructJSAudioContext):
+        (WebCore::JSAudioContextConstructor::constructJSAudioContext): Deleted.
+        * bindings/js/JSBlobCustom.cpp:
+        (WebCore::constructJSBlob):
+        (WebCore::JSBlobConstructor::constructJSBlob): Deleted.
+        * bindings/js/JSCryptoCustom.cpp:
+        * bindings/js/JSDOMFormDataCustom.cpp:
+        (WebCore::constructJSDOMFormData):
+        (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData): Deleted.
+        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
+        * bindings/js/JSDOMPluginArrayCustom.cpp:
+        * bindings/js/JSDOMPluginCustom.cpp:
+        * bindings/js/JSDataCueCustom.cpp:
+        (WebCore::constructJSDataCue):
+        (WebCore::JSDataCueConstructor::constructJSDataCue): Deleted.
+        * bindings/js/JSDataTransferCustom.cpp:
+        * bindings/js/JSEventCustom.cpp:
+        * bindings/js/JSFileReaderCustom.cpp:
+        * bindings/js/JSHistoryCustom.cpp:
+        * bindings/js/JSIDBAnyCustom.cpp:
+        * bindings/js/JSIDBDatabaseCustom.cpp:
+        * bindings/js/JSIDBObjectStoreCustom.cpp:
+        * bindings/js/JSImageConstructor.cpp:
+        (WebCore::JSImageConstructor::finishCreation):
+        * bindings/js/JSImageDataCustom.cpp:
+        * bindings/js/JSInspectorFrontendHostCustom.cpp:
+        * bindings/js/JSLocationCustom.cpp:
+        * bindings/js/JSMessagePortCustom.cpp:
+        * bindings/js/JSMutationObserverCustom.cpp:
+        (WebCore::constructJSMutationObserver):
+        (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Deleted.
+        * bindings/js/JSSQLResultSetRowListCustom.cpp:
+        * bindings/js/JSSQLTransactionSyncCustom.cpp:
+        * bindings/js/JSSVGLengthCustom.cpp:
+        * bindings/js/JSSharedWorkerCustom.cpp:
+        (WebCore::constructJSSharedWorker):
+        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Deleted.
+        * bindings/js/JSStorageCustom.cpp:
+        * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
+        * bindings/js/JSWebKitPointCustom.cpp:
+        (WebCore::constructJSWebKitPoint):
+        (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint): Deleted.
+        * bindings/js/JSWorkerCustom.cpp:
+        (WebCore::constructJSWorker):
+        (WebCore::JSWorkerConstructor::constructJSWorker): Deleted.
+        * bindings/js/SerializedScriptValue.cpp:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateHeader):
+        (GenerateImplementation):
+        (GeneratePrototypeDeclaration):
+        (GenerateConstructorDeclaration):
+        (GenerateConstructorHelperMethods):
+        (HeaderNeedsPrototypeDeclaration):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.h:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.h:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestException.h:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.h:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestNode.h:
+        * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+        * bindings/scripts/test/JS/JSTestNondeterministic.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSattribute.h:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+        * bindings/scripts/test/JS/JSreadonly.h:
+
+
</ins><span class="cx"> 2014-06-19  peavo@outlook.com  &lt;peavo@outlook.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Curl] Compile errors related to http header field names.
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSAudioBufferSourceNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;AudioBufferSourceNode.h&quot;
</span><span class="cx"> #include &quot;JSAudioBuffer.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSAudioContextCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;JSAudioBuffer.h&quot;
</span><span class="cx"> #include &quot;JSAudioContext.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSOfflineAudioContext.h&quot;
</span><span class="cx"> #include &quot;OfflineAudioContext.h&quot;
</span><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="lines">@@ -42,9 +43,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSAudioContextConstructor::constructJSAudioContext(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSAudioContext(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSAudioContextConstructor* jsConstructor = jsCast&lt;JSAudioContextConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     if (!jsConstructor)
</span><span class="cx">         return throwVMError(exec, createReferenceError(exec, &quot;AudioContext constructor callee is unavailable&quot;));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBiquadFilterNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;BiquadFilterNode.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBlobCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx">     return wrap&lt;JSBlob&gt;(globalObject, blob);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSBlobConstructor::constructJSBlob(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSBlob(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSBlobConstructor* jsConstructor = jsCast&lt;JSBlobConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     ScriptExecutionContext* context = jsConstructor-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return throwVMError(exec, createReferenceError(exec, &quot;Blob constructor associated document is unavailable&quot;));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCryptoCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSCryptoCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #include &quot;JSCrypto.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &lt;runtime/ArrayBufferView.h&gt;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><span class="cx"> #include &lt;runtime/JSArrayBufferView.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCryptoKeyCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSCryptoKeyCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #if ENABLE(SUBTLE_CRYPTO)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSCryptoAlgorithmBuilder.h&quot;
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCryptoKeyPairCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCryptoKeyPairCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCryptoKeyPairCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSCryptoKeyPairCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -26,6 +26,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSCryptoKeyPair.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;heap/SlotVisitorInlines.h&gt;
+
</ins><span class="cx"> #if ENABLE(SUBTLE_CRYPTO)
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMFormDataCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -46,9 +46,9 @@
</span><span class="cx">     return value.inherits(JSHTMLFormElement::info()) ? &amp;jsCast&lt;JSHTMLFormElement*&gt;(asObject(value))-&gt;impl() : 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSDOMFormDataConstructor::constructJSDOMFormData(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSDOMFormData(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSDOMFormDataConstructor* jsConstructor = jsCast&lt;JSDOMFormDataConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx"> 
</span><span class="cx">     HTMLFormElement* form = 0;
</span><span class="cx">     if (exec-&gt;argumentCount() &gt; 0)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMMimeTypeArrayCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;JSDOMMimeTypeArray.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DOMMimeTypeArray.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMMimeType.h&quot;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMPluginArrayCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;JSDOMPluginArray.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DOMPluginArray.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMPlugin.h&quot;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMPluginCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSDOMPlugin.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;DOMPlugin.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMMimeType.h&quot;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMStringListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -19,6 +19,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSDOMStringList.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
+
</ins><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDataCueCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDataCueCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -26,8 +26,11 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><ins>+
</ins><span class="cx"> #include &quot;JSDataCue.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
+
</ins><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -44,9 +47,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSDataCueConstructor::constructJSDataCue(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSDataCue(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSDataCueConstructor* castedThis = jsCast&lt;JSDataCueConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* castedThis = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     if (exec-&gt;argumentCount() &lt; 3)
</span><span class="cx">         return throwVMError(exec, createNotEnoughArgumentsError(exec));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDataTransferCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSDataTransfer.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;DataTransfer.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;EventHeaders.h&quot;
</span><span class="cx"> #include &quot;EventInterfaces.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDataTransfer.h&quot;
</span><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSFileReaderCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSFileReaderCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;JSFileReader.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;FileReader.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="cx"> #include &lt;runtime/JSArrayBuffer.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHistoryCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #include &quot;JSHistory.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><del>-#include &quot;History.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><span class="cx"> #include &lt;runtime/JSFunction.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBAnyCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #include &quot;IDBFactory.h&quot;
</span><span class="cx"> #include &quot;IDBIndex.h&quot;
</span><span class="cx"> #include &quot;IDBObjectStore.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMStringList.h&quot;
</span><span class="cx"> #include &quot;JSIDBCursor.h&quot;
</span><span class="cx"> #include &quot;JSIDBCursorWithValue.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBDatabaseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSIDBDatabaseCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;IDBDatabase.h&quot;
</span><span class="cx"> #include &quot;IDBKeyPath.h&quot;
</span><span class="cx"> #include &quot;IDBObjectStore.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSIDBObjectStore.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><span class="cx"> #include &lt;runtime/JSString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSIDBObjectStoreCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSIDBObjectStoreCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;IDBBindingUtilities.h&quot;
</span><span class="cx"> #include &quot;IDBKeyPath.h&quot;
</span><span class="cx"> #include &quot;IDBObjectStore.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSIDBIndex.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><span class="cx"> #include &lt;runtime/JSString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSImageConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSImageConstructor.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSImageConstructor.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSImageConstructor.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(globalObject);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSHTMLImageElementPrototype::self(vm, globalObject), None);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSHTMLImageElement::getPrototype(vm, globalObject), None);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static EncodedJSValue JSC_HOST_CALL constructImage(ExecState* exec)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSImageDataCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSImageDataCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSImageDataCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSImageDataCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include &quot;JSImageData.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ImageData.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSInspectorFrontendHostCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;ContextMenuItem.h&quot;
</span><span class="cx"> #include &quot;InspectorController.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontendHost.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSEvent.h&quot;
</span><span class="cx"> #include &quot;MouseEvent.h&quot;
</span><span class="cx"> #include &lt;runtime/JSArray.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSLocation.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Location.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &lt;runtime/JSFunction.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMediaSourceStatesCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSMediaSourceStatesCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSMediaSourceStates.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;MediaSourceStates.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMediaStreamCapabilitiesCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMediaStreamCapabilitiesCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMediaStreamCapabilitiesCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSMediaStreamCapabilitiesCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSAllAudioCapabilities.h&quot;
</span><span class="cx"> #include &quot;JSAllVideoCapabilities.h&quot;
</span><del>-#include &quot;MediaStreamCapabilities.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessageChannelCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #if ENABLE(CHANNEL_MESSAGING)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSMessageChannel.h&quot;
</span><ins>+#include &lt;heap/SlotVisitorInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessagePortCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSMessagePortCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -30,13 +30,15 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMGlobalObject.h&quot;
</span><span class="cx"> #include &quot;JSEvent.h&quot;
</span><span class="cx"> #include &quot;JSEventListener.h&quot;
</span><span class="cx"> #include &quot;JSMessagePortCustom.h&quot;
</span><span class="cx"> #include &quot;MessagePort.h&quot;
</span><ins>+#include &lt;heap/SlotVisitorInlines.h&gt;
+#include &lt;runtime/Error.h&gt;
</ins><span class="cx"> #include &lt;runtime/JSArrayBuffer.h&gt;
</span><del>-#include &lt;runtime/Error.h&gt;
</del><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMutationObserverCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMutationObserverCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMutationObserverCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSMutationObserverCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSMutationObserverConstructor::constructJSMutationObserver(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSMutationObserver(ExecState* exec)
</ins><span class="cx"> {
</span><span class="cx">     if (exec-&gt;argumentCount() &lt; 1)
</span><span class="cx">         return throwVMError(exec, createNotEnoughArgumentsError(exec));
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">     if (!object || object-&gt;methodTable()-&gt;getCallData(object, callData) == CallTypeNone)
</span><span class="cx">         return throwVMError(exec, createTypeError(exec, &quot;Callback argument must be a function&quot;));
</span><span class="cx"> 
</span><del>-    JSMutationObserverConstructor* jsConstructor = jsCast&lt;JSMutationObserverConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     RefPtr&lt;JSMutationCallback&gt; callback = JSMutationCallback::create(object, jsConstructor-&gt;globalObject());
</span><span class="cx">     JSObject* jsObserver = asObject(toJS(exec, jsConstructor-&gt;globalObject(), MutationObserver::create(callback.release())));
</span><span class="cx">     PrivateName propertyName;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeIteratorCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;JSNodeIterator.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Node.h&quot;
</span><ins>+#include &lt;heap/SlotVisitorInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSOscillatorNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;OscillatorNode.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPannerNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;PannerNode.h&quot;
</span><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPopStateEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSPopStateEventCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -29,10 +29,10 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;JSPopStateEvent.h&quot;
</ins><span class="cx"> 
</span><del>-#include &quot;History.h&quot;
</del><span class="cx"> #include &quot;JSHistory.h&quot;
</span><del>-#include &quot;JSPopStateEvent.h&quot;
</del><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSRTCIceCandidateCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSRTCIceCandidateCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSRTCIceCandidateCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSRTCIceCandidateCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -31,12 +31,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Dictionary.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSRTCIceCandidateConstructor::constructJSRTCIceCandidate(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSRTCIceCandidate(ExecState* exec)
</ins><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     Dictionary sessionInit;
</span><span class="lines">@@ -49,7 +50,7 @@
</span><span class="cx">             return JSValue::encode(jsUndefined());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    JSRTCIceCandidateConstructor* jsConstructor = jsCast&lt;JSRTCIceCandidateConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     RefPtr&lt;RTCIceCandidate&gt; iceCandidate = RTCIceCandidate::create(sessionInit, ec);
</span><span class="cx">     if (ec == TYPE_MISMATCH_ERR) {
</span><span class="cx">         setDOMException(exec, ec);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSRTCPeerConnectionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSRTCPeerConnectionCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSRTCPeerConnectionCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSRTCPeerConnectionCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -30,12 +30,13 @@
</span><span class="cx"> #include &quot;JSRTCPeerConnection.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSRTCPeerConnection(ExecState* exec)
</ins><span class="cx"> {
</span><span class="cx">     // Spec says that we must have at least one arument, the RTCConfiguration.
</span><span class="cx">     if (exec-&gt;argumentCount() &lt; 1)
</span><span class="lines">@@ -49,7 +50,7 @@
</span><span class="cx">     if (!rtcConfiguration.isObject())
</span><span class="cx">         return throwVMError(exec, createTypeError(exec, &quot;RTCPeerConnection argument must be a valid Dictionary&quot;));
</span><span class="cx"> 
</span><del>-    JSRTCPeerConnectionConstructor* jsConstructor = jsCast&lt;JSRTCPeerConnectionConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     ScriptExecutionContext* scriptExecutionContext = jsConstructor-&gt;scriptExecutionContext();
</span><span class="cx">     if (!scriptExecutionContext)
</span><span class="cx">         return throwVMError(exec, createReferenceError(exec, &quot;RTCPeerConnection constructor associated document is unavailable&quot;));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSRTCSessionDescriptionCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSRTCSessionDescriptionCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSRTCSessionDescriptionCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSRTCSessionDescriptionCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -31,12 +31,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Dictionary.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSRTCSessionDescription(ExecState* exec)
</ins><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     Dictionary sessionInit;
</span><span class="lines">@@ -49,7 +50,7 @@
</span><span class="cx">             return JSValue::encode(jsUndefined());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    JSRTCSessionDescriptionConstructor* jsConstructor = jsCast&lt;JSRTCSessionDescriptionConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx">     RefPtr&lt;RTCSessionDescription&gt; sessionDescription = RTCSessionDescription::create(sessionInit, ec);
</span><span class="cx">     if (ec == TYPE_MISMATCH_ERR) {
</span><span class="cx">         setDOMException(exec, ec);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSRTCStatsResponseCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #if ENABLE(MEDIA_STREAM)
</span><span class="cx"> #include &quot;JSRTCStatsResponse.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSRTCStatsReport.h&quot;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSQLResultSetRowListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> #include &quot;JSSQLResultSetRowList.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;SQLValue.h&quot;
</span><del>-#include &quot;SQLResultSetRowList.h&quot;
</del><span class="cx"> #include &lt;runtime/IdentifierInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/ObjectConstructor.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSQLTransactionSyncCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> #include &quot;JSSQLTransactionSync.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSSQLResultSet.h&quot;
</span><span class="cx"> #include &quot;SQLResultSet.h&quot;
</span><del>-#include &quot;SQLTransactionSync.h&quot;
</del><span class="cx"> #include &quot;SQLValue.h&quot;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSVGLengthCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSSVGLengthCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;JSSVGLength.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;SVGAnimatedProperty.h&quot;
</span><span class="cx"> #include &quot;SVGException.h&quot;
</span><span class="cx"> #include &quot;SVGLengthContext.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSSharedWorkerCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -50,9 +50,9 @@
</span><span class="cx">         visitor.addOpaqueRoot(port);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSSharedWorkerConstructor::constructJSSharedWorker(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSSharedWorker(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSSharedWorkerConstructor* jsConstructor = jsCast&lt;JSSharedWorkerConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx"> 
</span><span class="cx">     if (exec-&gt;argumentCount() &lt; 1)
</span><span class="cx">         return throwVMError(exec, createNotEnoughArgumentsError(exec));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSStorageCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSStorage.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Storage.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &lt;runtime/IdentifierInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/PropertyNameArray.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTouchCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSTouch.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Touch.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTouchListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSTouchList.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;TouchList.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTreeWalkerCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;JSTreeWalker.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Node.h&quot;
</span><ins>+#include &lt;heap/SlotVisitorInlines.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSUserMessageHandlersNamespaceCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSUserMessageHandlersNamespaceCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSUserMessageHandlersNamespaceCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSUserMessageHandlersNamespaceCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(USER_MESSAGE_HANDLERS)
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSUserMessageHandler.h&quot;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWebKitPointCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWebKitPointCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWebKitPointCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSWebKitPointCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -26,15 +26,15 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSWebKitPoint.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;WebKitPoint.h&quot;
</del><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSWebKitPointConstructor::constructJSWebKitPoint(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSWebKitPoint(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSWebKitPointConstructor* jsConstructor = jsCast&lt;JSWebKitPointConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx"> 
</span><span class="cx">     float x = 0;
</span><span class="cx">     float y = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWorkerCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSWorkerCustom.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -29,10 +29,11 @@
</span><span class="cx"> #include &quot;JSWorker.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMGlobalObject.h&quot;
</span><ins>+#include &quot;JSDOMWindowCustom.h&quot;
</ins><span class="cx"> #include &quot;JSMessagePortCustom.h&quot;
</span><span class="cx"> #include &quot;Worker.h&quot;
</span><del>-#include &quot;JSDOMWindowCustom.h&quot;
</del><span class="cx"> #include &lt;runtime/Error.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="lines">@@ -44,9 +45,9 @@
</span><span class="cx">     return handlePostMessage(exec, &amp;impl());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSC_HOST_CALL JSWorkerConstructor::constructJSWorker(ExecState* exec)
</del><ins>+EncodedJSValue JSC_HOST_CALL constructJSWorker(ExecState* exec)
</ins><span class="cx"> {
</span><del>-    JSWorkerConstructor* jsConstructor = jsCast&lt;JSWorkerConstructor*&gt;(exec-&gt;callee());
</del><ins>+    DOMConstructorObject* jsConstructor = jsCast&lt;DOMConstructorObject*&gt;(exec-&gt;callee());
</ins><span class="cx"> 
</span><span class="cx">     if (!exec-&gt;argumentCount())
</span><span class="cx">         return throwVMError(exec, createNotEnoughArgumentsError(exec));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWorkerGlobalScopeBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;JSDedicatedWorkerGlobalScope.h&quot;
</span><span class="cx"> #include &quot;JSWorkerGlobalScope.h&quot;
</span><span class="cx"> #include &quot;WorkerGlobalScope.h&quot;
</span><ins>+#include &lt;runtime/JSCJSValueInlines.h&gt;
</ins><span class="cx"> #include &lt;runtime/Microtask.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SHARED_WORKERS)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;ImageData.h&quot;
</span><span class="cx"> #include &quot;JSBlob.h&quot;
</span><span class="cx"> #include &quot;JSCryptoKey.h&quot;
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDOMGlobalObject.h&quot;
</span><span class="cx"> #include &quot;JSFile.h&quot;
</span><span class="cx"> #include &quot;JSFileList.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -803,12 +803,9 @@
</span><span class="cx">     if ($hasParent) {
</span><span class="cx">         $headerIncludes{&quot;$parentClassName.h&quot;} = 1;
</span><span class="cx">     } else {
</span><del>-        $headerIncludes{&quot;JSDOMBinding.h&quot;} = 1;
-        $headerIncludes{&quot;&lt;runtime/JSGlobalObject.h&gt;&quot;} = 1;
</del><ins>+        $headerIncludes{&quot;JSDOMWrapper.h&quot;} = 1;
</ins><span class="cx">         if ($interface-&gt;isException) {
</span><span class="cx">             $headerIncludes{&quot;&lt;runtime/ErrorPrototype.h&gt;&quot;} = 1;
</span><del>-        } else {
-            $headerIncludes{&quot;&lt;runtime/ObjectPrototype.h&gt;&quot;} = 1;
</del><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -820,7 +817,6 @@
</span><span class="cx">         $headerIncludes{&quot;$interfaceName.h&quot;} = 1;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    $headerIncludes{&quot;&lt;runtime/JSObject.h&gt;&quot;} = 1;
</del><span class="cx">     $headerIncludes{&quot;SVGElement.h&quot;} = 1 if $className =~ /^JSSVG/;
</span><span class="cx"> 
</span><span class="cx">     my $implType = $interfaceName;
</span><span class="lines">@@ -895,7 +891,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Prototype
</span><del>-    push(@headerContent, &quot;    static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);\n&quot;) unless IsDOMGlobalObject($interface);
</del><ins>+    unless (IsDOMGlobalObject($interface)) {
+        push(@headerContent, &quot;    static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);\n&quot;);
+        push(@headerContent, &quot;    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);\n&quot;);
+    }
</ins><span class="cx"> 
</span><span class="cx">     $headerTrailingIncludes{&quot;${className}Custom.h&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomHeader&quot;};
</span><span class="cx"> 
</span><span class="lines">@@ -1114,6 +1113,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     push(@headerContent, &quot;protected:\n&quot;);
</span><ins>+
</ins><span class="cx">     # Constructor
</span><span class="cx">     if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">         push(@headerContent, &quot;    $className(JSC::VM&amp;, JSC::Structure*, PassRefPtr&lt;$implType&gt;, JSDOMWindowShell*);\n&quot;);
</span><span class="lines">@@ -1126,15 +1126,16 @@
</span><span class="cx">         push(@headerContent, &quot;        Base::finishCreation(vm);\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;        ASSERT(inherits(info()));\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    }\n\n&quot;);
</span><del>-
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # structure flags
</span><del>-    push(@headerContent, &quot;    static const unsigned StructureFlags = &quot;);
-    foreach my $structureFlag (sort (keys %structureFlags)) {
-        push(@headerContent, $structureFlag . &quot; | &quot;);
</del><ins>+    if (%structureFlags) {
+        push(@headerContent, &quot;    static const unsigned StructureFlags = &quot;);
+        foreach my $structureFlag (sort (keys %structureFlags)) {
+            push(@headerContent, $structureFlag . &quot; | &quot;);
+        }
+        push(@headerContent, &quot;Base::StructureFlags;\n&quot;);
</ins><span class="cx">     }
</span><del>-    push(@headerContent, &quot;Base::StructureFlags;\n&quot;);
</del><span class="cx"> 
</span><span class="cx">     # Index setter
</span><span class="cx">     if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;}) {
</span><span class="lines">@@ -1196,14 +1197,8 @@
</span><span class="cx">     push(@headerContent, &quot;\n&quot;);
</span><span class="cx"> 
</span><span class="cx">     # Add prototype declaration.
</span><del>-    GeneratePrototypeDeclaration(\@headerContent, $className, $interface, $interfaceName);
-
-    if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
-        $headerIncludes{&quot;JSDOMBinding.h&quot;} = 1;
-        if ($interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}) {
-            $headerIncludes{&quot;DOMConstructorWithDocument.h&quot;} = 1;
-        }
-        GenerateConstructorDeclaration(\@headerContent, $className, $interface, $interfaceName);
</del><ins>+    if (HeaderNeedsPrototypeDeclaration($interface)) {
+        GeneratePrototypeDeclaration(\@headerContent, $className, $interface, $interfaceName);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($hasForwardDeclaringFunctions) {
</span><span class="lines">@@ -1251,6 +1246,15 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    if (HasCustomConstructor($interface)) {
+        push(@headerContent, &quot;// Custom constructor\n&quot;);
+        push(@headerContent, &quot;JSC::EncodedJSValue JSC_HOST_CALL construct${className}(JSC::ExecState*);\n\n&quot;);
+    }
+
+    if ($codeGenerator-&gt;IsConstructorTemplate($interface, &quot;Event&quot;)) {
+        push(@headerContent, &quot;bool fill${interfaceName}Init(${interfaceName}Init&amp;, JSDictionary&amp;);\n\n&quot;);
+    }
+
</ins><span class="cx">     my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($interface);
</span><span class="cx">     push(@headerContent, &quot;\n} // namespace WebCore\n\n&quot;);
</span><span class="cx">     push(@headerContent, &quot;#endif // ${conditionalString}\n\n&quot;) if $conditionalString;
</span><span class="lines">@@ -1692,6 +1696,7 @@
</span><span class="cx">     # - Add default header template
</span><span class="cx">     push(@implContentHeader, GenerateImplementationContentHeader($interface));
</span><span class="cx"> 
</span><ins>+    $implIncludes{&quot;JSDOMBinding.h&quot;} = 1;
</ins><span class="cx">     $implIncludes{&quot;&lt;wtf/GetPtr.h&gt;&quot;} = 1;
</span><span class="cx">     $implIncludes{&quot;&lt;runtime/PropertyNameArray.h&gt;&quot;} = 1 if $indexedGetterFunction;
</span><span class="cx"> 
</span><span class="lines">@@ -1732,10 +1737,12 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         push(@implContent, $endAppleCopyright) if $inAppleCopyright;
</span><ins>+
+        push(@implContent, &quot;\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($numAttributes &gt; 0 || !$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</span><del>-        push(@implContent,&quot;// Attributes\n\n&quot;);
</del><ins>+        push(@implContent, &quot;// Attributes\n\n&quot;);
</ins><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><span class="cx">             next if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;};
</span><span class="cx"> 
</span><span class="lines">@@ -1759,8 +1766,25 @@
</span><span class="cx">             my $constructorFunctionName = &quot;setJS&quot; . $interfaceName . &quot;Constructor&quot;;
</span><span class="cx">             push(@implContent, &quot;void ${constructorFunctionName}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n&quot;);
</span><span class="cx">         }
</span><ins>+
+        push(@implContent, &quot;\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    # Add prototype declaration.
+    if (!HeaderNeedsPrototypeDeclaration($interface)) {
+        GeneratePrototypeDeclaration(\@implContent, $className, $interface, $interfaceName);
+    }
+
+    # Add constructor declaration
+    if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
+        $implIncludes{&quot;JSDOMBinding.h&quot;} = 1;
+        if ($interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}) {
+            $implIncludes{&quot;DOMConstructorWithDocument.h&quot;} = 1;
+        }
+        GenerateConstructorDeclaration(\@implContent, $className, $interface, $interfaceName);
+    }
+
+
</ins><span class="cx">     my @hashKeys = ();
</span><span class="cx">     my @hashValue1 = ();
</span><span class="cx">     my @hashValue2 = ();
</span><span class="lines">@@ -1944,12 +1968,6 @@
</span><span class="cx">     } else {
</span><span class="cx">         push(@implContent, &quot;const ClassInfo ${className}Prototype::s_info = { \&quot;${visibleInterfaceName}Prototype\&quot;, &amp;Base::s_info, &amp;${className}PrototypeTable, 0, CREATE_METHOD_TABLE(${className}Prototype) };\n\n&quot;);
</span><span class="cx">     }
</span><del>-    unless (IsDOMGlobalObject($interface)) {
-        push(@implContent, &quot;JSObject* ${className}Prototype::self(VM&amp; vm, JSGlobalObject* globalObject)\n&quot;);
-        push(@implContent, &quot;{\n&quot;);
-        push(@implContent, &quot;    return getDOMPrototype&lt;${className}&gt;(vm, globalObject);\n&quot;);
-        push(@implContent, &quot;}\n\n&quot;);
-    }
</del><span class="cx"> 
</span><span class="cx">     if (PrototypeOverridesGetOwnPropertySlot($interface)) {
</span><span class="cx">         my $numPrototypeAttributes = PrototypeAttributeCount($interface);
</span><span class="lines">@@ -2053,12 +2071,17 @@
</span><span class="cx">         push(@implContent, &quot;JSObject* ${className}::createPrototype(VM&amp; vm, JSGlobalObject* globalObject)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         if ($hasParent &amp;&amp; $parentClassName ne &quot;JSC::DOMNodeFilter&quot;) {
</span><del>-            push(@implContent, &quot;    return ${className}Prototype::create(vm, globalObject, ${className}Prototype::createStructure(vm, globalObject, ${parentClassName}Prototype::self(vm, globalObject)));\n&quot;);
</del><ins>+            push(@implContent, &quot;    return ${className}Prototype::create(vm, globalObject, ${className}Prototype::createStructure(vm, globalObject, ${parentClassName}::getPrototype(vm, globalObject)));\n&quot;);
</ins><span class="cx">         } else {
</span><span class="cx">             my $prototype = $interface-&gt;isException ? &quot;errorPrototype&quot; : &quot;objectPrototype&quot;;
</span><span class="cx">             push(@implContent, &quot;    return ${className}Prototype::create(vm, globalObject, ${className}Prototype::createStructure(vm, globalObject, globalObject-&gt;${prototype}()));\n&quot;);
</span><span class="cx">         }
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><ins>+
+        push(@implContent, &quot;JSObject* ${className}::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)\n&quot;);
+        push(@implContent, &quot;{\n&quot;);
+        push(@implContent, &quot;    return getDOMPrototype&lt;${className}&gt;(vm, globalObject);\n&quot;);
+        push(@implContent, &quot;}\n\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!$hasParent) {
</span><span class="lines">@@ -4266,9 +4289,6 @@
</span><span class="cx">     push(@$outputArray, &quot;class ${prototypeClassName} : public JSC::JSNonFinalObject {\n&quot;);
</span><span class="cx">     push(@$outputArray, &quot;public:\n&quot;);
</span><span class="cx">     push(@$outputArray, &quot;    typedef JSC::JSNonFinalObject Base;\n&quot;);
</span><del>-    unless (IsDOMGlobalObject($interface)) {
-        push(@$outputArray, &quot;    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);\n&quot;);
-    }
</del><span class="cx"> 
</span><span class="cx">     push(@$outputArray, &quot;    static ${prototypeClassName}* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)\n&quot;);
</span><span class="cx">     push(@$outputArray, &quot;    {\n&quot;);
</span><span class="lines">@@ -4279,7 +4299,20 @@
</span><span class="cx"> 
</span><span class="cx">     push(@$outputArray, &quot;    DECLARE_INFO;\n&quot;);
</span><span class="cx"> 
</span><ins>+    push(@$outputArray,
+        &quot;    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n&quot; .
+        &quot;    {\n&quot; .
+        &quot;        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());\n&quot; .
+        &quot;    }\n&quot;);
+
+    push(@$outputArray, &quot;\nprivate:\n&quot;);
+    push(@$outputArray, &quot;    ${prototypeClassName}(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)\n&quot;);
+    push(@$outputArray, &quot;        : JSC::JSNonFinalObject(vm, structure)\n&quot;);
+    push(@$outputArray, &quot;    {\n&quot;);
+    push(@$outputArray, &quot;    }\n&quot;);
+
</ins><span class="cx">     if (PrototypeOverridesGetOwnPropertySlot($interface)) {
</span><ins>+        push(@$outputArray, &quot;\n&quot;);
</ins><span class="cx">         if (IsDOMGlobalObject($interface)) {
</span><span class="cx">             push(@$outputArray, &quot;    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);\n&quot;);
</span><span class="cx">             $structureFlags{&quot;JSC::OverridesGetOwnPropertySlot&quot;} = 1;
</span><span class="lines">@@ -4287,22 +4320,19 @@
</span><span class="cx">             push(@$outputArray, &quot;    void finishCreation(JSC::VM&amp;);\n&quot;);
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    push(@$outputArray,
-        &quot;    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n&quot; .
-        &quot;    {\n&quot; .
-        &quot;        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());\n&quot; .
-        &quot;    }\n&quot;);
</del><ins>+
</ins><span class="cx">     if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomNamedGetterOnPrototype&quot;}) {
</span><ins>+        push(@$outputArray, &quot;\n&quot;);
</ins><span class="cx">         push(@$outputArray, &quot;    static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Custom defineOwnProperty function
</span><del>-    push(@$outputArray, &quot;    static bool defineOwnProperty(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, const JSC::PropertyDescriptor&amp;, bool shouldThrow);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomDefineOwnPropertyOnPrototype&quot;};
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomDefineOwnPropertyOnPrototype&quot;}) {
+        push(@$outputArray, &quot;\n&quot;);
+        push(@$outputArray, &quot;    static bool defineOwnProperty(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, const JSC::PropertyDescriptor&amp;, bool shouldThrow);\n&quot;);
+    }
</ins><span class="cx"> 
</span><del>-    push(@$outputArray, &quot;\nprivate:\n&quot;);
-    push(@$outputArray, &quot;    ${prototypeClassName}(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }\n&quot;);
-
</del><span class="cx">     # structure flags
</span><span class="cx">     if (%structureFlags) {
</span><span class="cx">         push(@$outputArray, &quot;protected:\n&quot;);
</span><span class="lines">@@ -4347,10 +4377,9 @@
</span><span class="cx">     push(@$outputArray, &quot;    }\n&quot;);
</span><span class="cx"> 
</span><span class="cx">     if (IsConstructable($interface) &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}) {
</span><del>-        push(@$outputArray, &quot;protected:\n&quot;);
-        push(@$outputArray, &quot;    static JSC::EncodedJSValue JSC_HOST_CALL construct${className}(JSC::ExecState*);\n&quot;);
-
</del><span class="cx">         if (!HasCustomConstructor($interface)) {
</span><ins>+            push(@$outputArray, &quot;protected:\n&quot;);
+            push(@$outputArray, &quot;    static JSC::EncodedJSValue JSC_HOST_CALL construct${className}(JSC::ExecState*);\n&quot;);
</ins><span class="cx">             my @constructors = @{$interface-&gt;constructors};
</span><span class="cx">             if (@constructors &gt; 1) {
</span><span class="cx">                 foreach my $constructor (@constructors) {
</span><span class="lines">@@ -4367,10 +4396,6 @@
</span><span class="cx">     }
</span><span class="cx">     push(@$outputArray, &quot;};\n\n&quot;);
</span><span class="cx"> 
</span><del>-    if ($codeGenerator-&gt;IsConstructorTemplate($interface, &quot;Event&quot;)) {
-        push(@$outputArray, &quot;bool fill${interfaceName}Init(${interfaceName}Init&amp;, JSDictionary&amp;);\n\n&quot;);
-    }
-
</del><span class="cx">     if ($interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}) {
</span><span class="cx">         push(@$outputArray, &lt;&lt;END);
</span><span class="cx"> class JS${interfaceName}NamedConstructor : public DOMConstructorWithDocument {
</span><span class="lines">@@ -4694,11 +4719,11 @@
</span><span class="cx">     } elsif ($generatingNamedConstructor) {
</span><span class="cx">         push(@$outputArray, &quot;    Base::finishCreation(globalObject);\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    ASSERT(inherits(info()));\n&quot;);
</span><del>-        push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;prototype, ${className}Prototype::self(vm, globalObject), None);\n&quot;);
</del><ins>+        push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;prototype, ${className}::getPrototype(vm, globalObject), None);\n&quot;);
</ins><span class="cx">     } else {
</span><span class="cx">         push(@$outputArray, &quot;    Base::finishCreation(vm);\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    ASSERT(inherits(info()));\n&quot;);
</span><del>-        push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;prototype, ${protoClassName}::self(vm, globalObject), DontDelete | ReadOnly);\n&quot;);
</del><ins>+        push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;prototype, ${className}::getPrototype(vm, globalObject), DontDelete | ReadOnly);\n&quot;);
</ins><span class="cx">     }
</span><span class="cx">     push(@$outputArray, &quot;    putDirect(vm, vm.propertyNames-&gt;length, jsNumber(${leastConstructorLength}), ReadOnly | DontDelete | DontEnum);\n&quot;) if defined $leastConstructorLength;
</span><span class="cx">     push(@$outputArray, &quot;    reifyStaticProperties(vm, ${className}ConstructorTableValues, *this);\n&quot;) if ConstructorHasProperties($interface);
</span><span class="lines">@@ -4752,4 +4777,11 @@
</span><span class="cx">     return HasCustomConstructor($interface) || $interface-&gt;extendedAttributes-&gt;{&quot;Constructor&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;ConstructorTemplate&quot;};
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+sub HeaderNeedsPrototypeDeclaration
+{
+    my $interface = shift;
+
+    return IsDOMGlobalObject($interface) || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomNamedGetterOnPrototype&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomDefineOwnPropertyOnPrototype&quot;};
+}
+
</ins><span class="cx"> 1;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -37,10 +37,58 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestActiveDOMObjectPrototypeFunctionExcitingFunction(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestActiveDOMObjectPrototypeFunctionPostMessage(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestActiveDOMObjectExcitingAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestActiveDOMObjectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestActiveDOMObjectPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestActiveDOMObjectPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestActiveDOMObjectPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestActiveDOMObjectPrototype&gt;(vm.heap)) JSTestActiveDOMObjectPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestActiveDOMObjectPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestActiveDOMObjectConstructor : public DOMConstructorObject {
+private:
+    JSTestActiveDOMObjectConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestActiveDOMObjectConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestActiveDOMObjectConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestActiveDOMObjectConstructor&gt;(vm.heap)) JSTestActiveDOMObjectConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestActiveDOMObjectTableIndex[4] = {
</span><span class="lines">@@ -82,7 +130,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestActiveDOMObjectPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestActiveDOMObject::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -105,11 +153,6 @@
</span><span class="cx"> static const HashTable JSTestActiveDOMObjectPrototypeTable = { 2, 3, false, JSTestActiveDOMObjectPrototypeTableValues, 0, JSTestActiveDOMObjectPrototypeTableIndex };
</span><span class="cx"> const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { &quot;TestActiveDOMObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
</span><span class="cx"> 
</span><del>-JSObject* JSTestActiveDOMObjectPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestActiveDOMObject&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestActiveDOMObjectPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -129,6 +172,11 @@
</span><span class="cx">     return JSTestActiveDOMObjectPrototype::create(vm, globalObject, JSTestActiveDOMObjectPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestActiveDOMObject::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestActiveDOMObject&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestActiveDOMObject::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestActiveDOMObject* thisObject = static_cast&lt;JSTestActiveDOMObject*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestActiveDOMObject_h
</span><span class="cx"> #define JSTestActiveDOMObject_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestActiveDOMObject.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestActiveDOMObject();
</span><span class="lines">@@ -96,50 +94,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestActiveDOMObject*);
</span><span class="cx"> TestActiveDOMObject* toTestActiveDOMObject(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestActiveDOMObjectPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestActiveDOMObjectPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestActiveDOMObjectPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestActiveDOMObjectPrototype&gt;(vm.heap)) JSTestActiveDOMObjectPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestActiveDOMObjectPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestActiveDOMObjectConstructor : public DOMConstructorObject {
-private:
-    JSTestActiveDOMObjectConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestActiveDOMObjectConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestActiveDOMObjectConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestActiveDOMObjectConstructor&gt;(vm.heap)) JSTestActiveDOMObjectConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -35,9 +35,57 @@
</span><span class="cx"> // Functions
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestCustomNamedGetterPrototypeFunctionAnotherFunction(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestCustomNamedGetterConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestCustomNamedGetterPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestCustomNamedGetterPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestCustomNamedGetterPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomNamedGetterPrototype&gt;(vm.heap)) JSTestCustomNamedGetterPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestCustomNamedGetterPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestCustomNamedGetterConstructor : public DOMConstructorObject {
+private:
+    JSTestCustomNamedGetterConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestCustomNamedGetterConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestCustomNamedGetterConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomNamedGetterConstructor&gt;(vm.heap)) JSTestCustomNamedGetterConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestCustomNamedGetterTableIndex[2] = {
</span><span class="lines">@@ -76,7 +124,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestCustomNamedGetterPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestCustomNamedGetter::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -96,11 +144,6 @@
</span><span class="cx"> static const HashTable JSTestCustomNamedGetterPrototypeTable = { 1, 1, false, JSTestCustomNamedGetterPrototypeTableValues, 0, JSTestCustomNamedGetterPrototypeTableIndex };
</span><span class="cx"> const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { &quot;TestCustomNamedGetterPrototype&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
</span><span class="cx"> 
</span><del>-JSObject* JSTestCustomNamedGetterPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestCustomNamedGetter&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestCustomNamedGetterPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -120,6 +163,11 @@
</span><span class="cx">     return JSTestCustomNamedGetterPrototype::create(vm, globalObject, JSTestCustomNamedGetterPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestCustomNamedGetter::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestCustomNamedGetter&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestCustomNamedGetter::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestCustomNamedGetter* thisObject = static_cast&lt;JSTestCustomNamedGetter*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestCustomNamedGetter_h
</span><span class="cx"> #define JSTestCustomNamedGetter_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestCustomNamedGetter.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="lines">@@ -100,50 +98,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestCustomNamedGetter*);
</span><span class="cx"> TestCustomNamedGetter* toTestCustomNamedGetter(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestCustomNamedGetterPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestCustomNamedGetterPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestCustomNamedGetterPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomNamedGetterPrototype&gt;(vm.heap)) JSTestCustomNamedGetterPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestCustomNamedGetterPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestCustomNamedGetterConstructor : public DOMConstructorObject {
-private:
-    JSTestCustomNamedGetterConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestCustomNamedGetterConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestCustomNamedGetterConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomNamedGetterConstructor&gt;(vm.heap)) JSTestCustomNamedGetterConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSTestEventConstructor.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSDictionary.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="cx"> #include &quot;TestEventConstructor.h&quot;
</span><span class="lines">@@ -38,6 +39,56 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestEventConstructorAttr1(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestEventConstructorAttr2(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestEventConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestEventConstructorPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestEventConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestEventConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventConstructorPrototype&gt;(vm.heap)) JSTestEventConstructorPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestEventConstructorPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestEventConstructorConstructor : public DOMConstructorObject {
+private:
+    JSTestEventConstructorConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestEventConstructorConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestEventConstructorConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventConstructorConstructor&gt;(vm.heap)) JSTestEventConstructorConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+protected:
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestEventConstructor(JSC::ExecState*);
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestEventConstructorConstructorTableIndex[1] = {
</span><span class="lines">@@ -100,7 +151,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestEventConstructorPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestEventConstructor::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -135,11 +186,6 @@
</span><span class="cx"> static const HashTable JSTestEventConstructorPrototypeTable = { 3, 7, true, JSTestEventConstructorPrototypeTableValues, 0, JSTestEventConstructorPrototypeTableIndex };
</span><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><del>-JSObject* JSTestEventConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestEventConstructor&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestEventConstructorPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -159,6 +205,11 @@
</span><span class="cx">     return JSTestEventConstructorPrototype::create(vm, globalObject, JSTestEventConstructorPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestEventConstructor::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestEventConstructor&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestEventConstructor::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestEventConstructor* thisObject = static_cast&lt;JSTestEventConstructor*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestEventConstructor_h
</span><span class="cx"> #define JSTestEventConstructor_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestEventConstructor.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -42,6 +39,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestEventConstructor();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -74,7 +72,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestEventConstructorOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -97,52 +94,6 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestEventConstructor*);
</span><span class="cx"> TestEventConstructor* toTestEventConstructor(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestEventConstructorPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestEventConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestEventConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventConstructorPrototype&gt;(vm.heap)) JSTestEventConstructorPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestEventConstructorPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestEventConstructorConstructor : public DOMConstructorObject {
-private:
-    JSTestEventConstructorConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestEventConstructorConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestEventConstructorConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventConstructorConstructor&gt;(vm.heap)) JSTestEventConstructorConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-protected:
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestEventConstructor(JSC::ExecState*);
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-};
-
</del><span class="cx"> bool fillTestEventConstructorInit(TestEventConstructorInit&amp;, JSDictionary&amp;);
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -44,9 +44,57 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionAddEventListener(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionRemoveEventListener(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionDispatchEvent(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestEventTargetConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestEventTargetPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestEventTargetPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestEventTargetPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventTargetPrototype&gt;(vm.heap)) JSTestEventTargetPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestEventTargetPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestEventTargetConstructor : public DOMConstructorObject {
+private:
+    JSTestEventTargetConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestEventTargetConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestEventTargetConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventTargetConstructor&gt;(vm.heap)) JSTestEventTargetConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestEventTargetTableIndex[2] = {
</span><span class="lines">@@ -85,7 +133,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestEventTargetPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestEventTarget::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -114,11 +162,6 @@
</span><span class="cx"> static const HashTable JSTestEventTargetPrototypeTable = { 4, 7, false, JSTestEventTargetPrototypeTableValues, 0, JSTestEventTargetPrototypeTableIndex };
</span><span class="cx"> const ClassInfo JSTestEventTargetPrototype::s_info = { &quot;TestEventTargetPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventTargetPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
</span><span class="cx"> 
</span><del>-JSObject* JSTestEventTargetPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestEventTarget&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestEventTargetPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -138,6 +181,11 @@
</span><span class="cx">     return JSTestEventTargetPrototype::create(vm, globalObject, JSTestEventTargetPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestEventTarget::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestEventTarget&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestEventTarget::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestEventTarget* thisObject = static_cast&lt;JSTestEventTarget*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestEventTarget_h
</span><span class="cx"> #define JSTestEventTarget_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestEventTarget.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -41,6 +38,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static bool getOwnPropertySlotByIndex(JSC::JSObject*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="lines">@@ -104,50 +102,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestEventTarget*);
</span><span class="cx"> TestEventTarget* toTestEventTarget(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestEventTargetPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestEventTargetPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestEventTargetPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventTargetPrototype&gt;(vm.heap)) JSTestEventTargetPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestEventTargetPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestEventTargetConstructor : public DOMConstructorObject {
-private:
-    JSTestEventTargetConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestEventTargetConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestEventTargetConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventTargetConstructor&gt;(vm.heap)) JSTestEventTargetConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSTestException.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="cx"> #include &quot;TestException.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><span class="lines">@@ -35,6 +36,53 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestExceptionName(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestExceptionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestExceptionPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestExceptionPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestExceptionPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestExceptionPrototype&gt;(vm.heap)) JSTestExceptionPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestExceptionPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestExceptionConstructor : public DOMConstructorObject {
+private:
+    JSTestExceptionConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestExceptionConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestExceptionConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestExceptionConstructor&gt;(vm.heap)) JSTestExceptionConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestExceptionTableIndex[2] = {
</span><span class="lines">@@ -73,7 +121,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestExceptionPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestException::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -93,11 +141,6 @@
</span><span class="cx"> static const HashTable JSTestExceptionPrototypeTable = { 1, 1, true, JSTestExceptionPrototypeTableValues, 0, JSTestExceptionPrototypeTableIndex };
</span><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><del>-JSObject* JSTestExceptionPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestException&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestExceptionPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -117,6 +160,11 @@
</span><span class="cx">     return JSTestExceptionPrototype::create(vm, globalObject, JSTestExceptionPrototype::createStructure(vm, globalObject, globalObject-&gt;errorPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestException::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestException&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestException::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestException* thisObject = static_cast&lt;JSTestException*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,9 @@
</span><span class="cx"> #ifndef JSTestException_h
</span><span class="cx"> #define JSTestException_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestException.h&quot;
</span><span class="cx"> #include &lt;runtime/ErrorPrototype.h&gt;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +38,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestException();
</span><span class="lines">@@ -96,50 +95,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestException*);
</span><span class="cx"> TestException* toTestException(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestExceptionPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestExceptionPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestExceptionPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestExceptionPrototype&gt;(vm.heap)) JSTestExceptionPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestExceptionPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestExceptionConstructor : public DOMConstructorObject {
-private:
-    JSTestExceptionConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestExceptionConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestExceptionConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestExceptionConstructor&gt;(vm.heap)) JSTestExceptionConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSTestGenerateIsReachable.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;TestGenerateIsReachable.h&quot;
</span><span class="cx"> #include &lt;wtf/GetPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -31,6 +32,53 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestGenerateIsReachableConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestGenerateIsReachablePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestGenerateIsReachablePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestGenerateIsReachablePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGenerateIsReachablePrototype&gt;(vm.heap)) JSTestGenerateIsReachablePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestGenerateIsReachablePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestGenerateIsReachableConstructor : public DOMConstructorObject {
+private:
+    JSTestGenerateIsReachableConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestGenerateIsReachableConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestGenerateIsReachableConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGenerateIsReachableConstructor&gt;(vm.heap)) JSTestGenerateIsReachableConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestGenerateIsReachableConstructorTableIndex[1] = {
</span><span class="lines">@@ -55,7 +103,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestGenerateIsReachablePrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestGenerateIsReachable::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -75,11 +123,6 @@
</span><span class="cx"> static const HashTable JSTestGenerateIsReachablePrototypeTable = { 1, 1, true, JSTestGenerateIsReachablePrototypeTableValues, 0, JSTestGenerateIsReachablePrototypeTableIndex };
</span><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><del>-JSObject* JSTestGenerateIsReachablePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestGenerateIsReachable&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestGenerateIsReachablePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -99,6 +142,11 @@
</span><span class="cx">     return JSTestGenerateIsReachablePrototype::create(vm, globalObject, JSTestGenerateIsReachablePrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestGenerateIsReachable::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestGenerateIsReachable&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestGenerateIsReachable::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestGenerateIsReachable* thisObject = static_cast&lt;JSTestGenerateIsReachable*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestGenerateIsReachable_h
</span><span class="cx"> #define JSTestGenerateIsReachable_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestGenerateIsReachable.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestGenerateIsReachable();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -72,7 +70,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestGenerateIsReachableOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -95,50 +92,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestGenerateIsReachable*);
</span><span class="cx"> TestGenerateIsReachable* toTestGenerateIsReachable(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestGenerateIsReachablePrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestGenerateIsReachablePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestGenerateIsReachablePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGenerateIsReachablePrototype&gt;(vm.heap)) JSTestGenerateIsReachablePrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestGenerateIsReachablePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestGenerateIsReachableConstructor : public DOMConstructorObject {
-private:
-    JSTestGenerateIsReachableConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestGenerateIsReachableConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestGenerateIsReachableConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGenerateIsReachableConstructor&gt;(vm.heap)) JSTestGenerateIsReachableConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -74,6 +74,7 @@
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestInterfaceConstructorFunctionSupplementalMethod4(JSC::ExecState*);
</span><span class="cx"> #endif
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="lines">@@ -121,6 +122,58 @@
</span><span class="cx"> void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> #endif
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestInterfacePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestInterfacePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestInterfacePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestInterfacePrototype&gt;(vm.heap)) JSTestInterfacePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestInterfacePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestInterfaceConstructor : public DOMConstructorObject {
+private:
+    JSTestInterfaceConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestInterfaceConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestInterfaceConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestInterfaceConstructor&gt;(vm.heap)) JSTestInterfaceConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+protected:
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestInterface(JSC::ExecState*);
+#if ENABLE(TEST_INTERFACE)
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+#endif // ENABLE(TEST_INTERFACE)
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestInterfaceTableIndex[4] = {
</span><span class="lines">@@ -266,7 +319,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestInterfacePrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestInterface::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
</span><span class="cx">     reifyStaticProperties(vm, JSTestInterfaceConstructorTableValues, *this);
</span><span class="cx"> }
</span><span class="lines">@@ -438,11 +491,6 @@
</span><span class="cx"> static const HashTable JSTestInterfacePrototypeTable = { 17, 63, true, JSTestInterfacePrototypeTableValues, 0, JSTestInterfacePrototypeTableIndex };
</span><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><del>-JSObject* JSTestInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestInterface&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestInterfacePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -462,6 +510,11 @@
</span><span class="cx">     return JSTestInterfacePrototype::create(vm, globalObject, JSTestInterfacePrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestInterface::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestInterface&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestInterface::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestInterface* thisObject = static_cast&lt;JSTestInterface*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -23,11 +23,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestInterface.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -42,6 +39,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);
</span><span class="cx">     static void putByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::JSValue, bool shouldThrow);
</span><span class="lines">@@ -123,55 +121,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestInterface*);
</span><span class="cx"> TestInterface* toTestInterface(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestInterfacePrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestInterfacePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestInterfacePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestInterfacePrototype&gt;(vm.heap)) JSTestInterfacePrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestInterfacePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestInterfaceConstructor : public DOMConstructorObject {
-private:
-    JSTestInterfaceConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestInterfaceConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestInterfaceConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestInterfaceConstructor&gt;(vm.heap)) JSTestInterfaceConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-protected:
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestInterface(JSC::ExecState*);
-#if ENABLE(TEST_INTERFACE)
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-#endif // ENABLE(TEST_INTERFACE)
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(Condition1) || ENABLE(Condition2)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -35,9 +35,57 @@
</span><span class="cx"> // Functions
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestMediaQueryListListenerPrototypeFunctionMethod(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestMediaQueryListListenerConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestMediaQueryListListenerPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestMediaQueryListListenerPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestMediaQueryListListenerPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestMediaQueryListListenerPrototype&gt;(vm.heap)) JSTestMediaQueryListListenerPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestMediaQueryListListenerPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestMediaQueryListListenerConstructor : public DOMConstructorObject {
+private:
+    JSTestMediaQueryListListenerConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestMediaQueryListListenerConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestMediaQueryListListenerConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestMediaQueryListListenerConstructor&gt;(vm.heap)) JSTestMediaQueryListListenerConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestMediaQueryListListenerConstructorTableIndex[1] = {
</span><span class="lines">@@ -62,7 +110,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestMediaQueryListListenerPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestMediaQueryListListener::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -85,11 +133,6 @@
</span><span class="cx"> static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 2, 3, true, JSTestMediaQueryListListenerPrototypeTableValues, 0, JSTestMediaQueryListListenerPrototypeTableIndex };
</span><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><del>-JSObject* JSTestMediaQueryListListenerPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestMediaQueryListListener&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestMediaQueryListListenerPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -109,6 +152,11 @@
</span><span class="cx">     return JSTestMediaQueryListListenerPrototype::create(vm, globalObject, JSTestMediaQueryListListenerPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestMediaQueryListListener::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestMediaQueryListListener&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestMediaQueryListListener::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestMediaQueryListListener* thisObject = static_cast&lt;JSTestMediaQueryListListener*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestMediaQueryListListener_h
</span><span class="cx"> #define JSTestMediaQueryListListener_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestMediaQueryListListener.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestMediaQueryListListener();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -72,7 +70,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestMediaQueryListListenerOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -95,50 +92,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestMediaQueryListListener*);
</span><span class="cx"> TestMediaQueryListListener* toTestMediaQueryListListener(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestMediaQueryListListenerPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestMediaQueryListListenerPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestMediaQueryListListenerPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestMediaQueryListListenerPrototype&gt;(vm.heap)) JSTestMediaQueryListListenerPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestMediaQueryListListenerPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestMediaQueryListListenerConstructor : public DOMConstructorObject {
-private:
-    JSTestMediaQueryListListenerConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestMediaQueryListListenerConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestMediaQueryListListenerConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestMediaQueryListListenerConstructor&gt;(vm.heap)) JSTestMediaQueryListListenerConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSTestNamedConstructor.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;DOMConstructorWithDocument.h&quot;
</ins><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;TestNamedConstructor.h&quot;
</span><span class="lines">@@ -34,6 +35,78 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestNamedConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestNamedConstructorPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestNamedConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestNamedConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorPrototype&gt;(vm.heap)) JSTestNamedConstructorPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestNamedConstructorPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestNamedConstructorConstructor : public DOMConstructorObject {
+private:
+    JSTestNamedConstructorConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestNamedConstructorConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestNamedConstructorConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorConstructor&gt;(vm.heap)) JSTestNamedConstructorConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
+class JSTestNamedConstructorNamedConstructor : public DOMConstructorWithDocument {
+public:
+    typedef DOMConstructorWithDocument Base;
+
+    static JSTestNamedConstructorNamedConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestNamedConstructorNamedConstructor* constructor = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorNamedConstructor&gt;(vm.heap)) JSTestNamedConstructorNamedConstructor(structure, globalObject);
+        constructor-&gt;finishCreation(vm, globalObject);
+        return constructor;
+    }
+
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+    DECLARE_INFO;
+
+private:
+    JSTestNamedConstructorNamedConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestNamedConstructor(JSC::ExecState*);
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestNamedConstructorConstructorTableIndex[1] = {
</span><span class="lines">@@ -58,7 +131,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNamedConstructorPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNamedConstructor::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -96,7 +169,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(globalObject);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNamedConstructorPrototype::self(vm, globalObject), None);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNamedConstructor::getPrototype(vm, globalObject), None);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -122,11 +195,6 @@
</span><span class="cx"> static const HashTable JSTestNamedConstructorPrototypeTable = { 1, 1, true, JSTestNamedConstructorPrototypeTableValues, 0, JSTestNamedConstructorPrototypeTableIndex };
</span><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><del>-JSObject* JSTestNamedConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestNamedConstructor&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestNamedConstructorPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -146,6 +214,11 @@
</span><span class="cx">     return JSTestNamedConstructorPrototype::create(vm, globalObject, JSTestNamedConstructorPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestNamedConstructor::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestNamedConstructor&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestNamedConstructor::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestNamedConstructor* thisObject = static_cast&lt;JSTestNamedConstructor*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,12 +21,8 @@
</span><span class="cx"> #ifndef JSTestNamedConstructor_h
</span><span class="cx"> #define JSTestNamedConstructor_h
</span><span class="cx"> 
</span><del>-#include &quot;DOMConstructorWithDocument.h&quot;
-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestNamedConstructor.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -41,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestNamedConstructor();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -74,7 +71,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestNamedConstructorOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -97,75 +93,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestNamedConstructor*);
</span><span class="cx"> TestNamedConstructor* toTestNamedConstructor(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestNamedConstructorPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestNamedConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestNamedConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorPrototype&gt;(vm.heap)) JSTestNamedConstructorPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestNamedConstructorPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestNamedConstructorConstructor : public DOMConstructorObject {
-private:
-    JSTestNamedConstructorConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestNamedConstructorConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestNamedConstructorConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorConstructor&gt;(vm.heap)) JSTestNamedConstructorConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-class JSTestNamedConstructorNamedConstructor : public DOMConstructorWithDocument {
-public:
-    typedef DOMConstructorWithDocument Base;
-
-    static JSTestNamedConstructorNamedConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestNamedConstructorNamedConstructor* constructor = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorNamedConstructor&gt;(vm.heap)) JSTestNamedConstructorNamedConstructor(structure, globalObject);
-        constructor-&gt;finishCreation(vm, globalObject);
-        return constructor;
-    }
-
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-    DECLARE_INFO;
-
-private:
-    JSTestNamedConstructorNamedConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestNamedConstructor(JSC::ExecState*);
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -34,6 +34,56 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestNodeConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestNodePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestNodePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestNodePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNodePrototype&gt;(vm.heap)) JSTestNodePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestNodePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestNodeConstructor : public DOMConstructorObject {
+private:
+    JSTestNodeConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestNodeConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestNodeConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNodeConstructor&gt;(vm.heap)) JSTestNodeConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+protected:
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestNode(JSC::ExecState*);
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestNodeConstructorTableIndex[1] = {
</span><span class="lines">@@ -65,7 +115,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNodePrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNode::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -91,11 +141,6 @@
</span><span class="cx"> static const HashTable JSTestNodePrototypeTable = { 1, 1, true, JSTestNodePrototypeTableValues, 0, JSTestNodePrototypeTableIndex };
</span><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><del>-JSObject* JSTestNodePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestNode&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestNodePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -111,9 +156,14 @@
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNode::createPrototype(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="cx"> {
</span><del>-    return JSTestNodePrototype::create(vm, globalObject, JSTestNodePrototype::createStructure(vm, globalObject, JSNodePrototype::self(vm, globalObject)));
</del><ins>+    return JSTestNodePrototype::create(vm, globalObject, JSTestNodePrototype::createStructure(vm, globalObject, JSNode::getPrototype(vm, globalObject)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestNode::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestNode&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> EncodedJSValue jsTestNodeConstructor(ExecState* exec, JSObject* baseValue, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><span class="cx">     JSTestNodePrototype* domObject = jsDynamicCast&lt;JSTestNodePrototype*&gt;(baseValue);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,10 +21,8 @@
</span><span class="cx"> #ifndef JSTestNode_h
</span><span class="cx"> #define JSTestNode_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><span class="cx"> #include &quot;JSNode.h&quot;
</span><span class="cx"> #include &quot;TestNode.h&quot;
</span><del>-#include &lt;runtime/JSObject.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -39,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">     static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
</span><span class="lines">@@ -66,53 +65,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-class JSTestNodePrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestNodePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestNodePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNodePrototype&gt;(vm.heap)) JSTestNodePrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestNodePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestNodeConstructor : public DOMConstructorObject {
-private:
-    JSTestNodeConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestNodeConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestNodeConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNodeConstructor&gt;(vm.heap)) JSTestNodeConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-protected:
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestNode(JSC::ExecState*);
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> // Functions
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestNondeterministicNondeterministicReadonlyAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="lines">@@ -55,6 +56,53 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestNondeterministicNondeterministicSetterExceptionAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> void setJSTestNondeterministicNondeterministicSetterExceptionAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> JSC::EncodedJSValue jsTestNondeterministicConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestNondeterministicPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestNondeterministicPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestNondeterministicPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNondeterministicPrototype&gt;(vm.heap)) JSTestNondeterministicPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestNondeterministicPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestNondeterministicConstructor : public DOMConstructorObject {
+private:
+    JSTestNondeterministicConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestNondeterministicConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestNondeterministicConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNondeterministicConstructor&gt;(vm.heap)) JSTestNondeterministicConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestNondeterministicConstructorTableIndex[1] = {
</span><span class="lines">@@ -79,7 +127,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNondeterministicPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestNondeterministic::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -120,11 +168,6 @@
</span><span class="cx"> static const HashTable JSTestNondeterministicPrototypeTable = { 7, 15, true, JSTestNondeterministicPrototypeTableValues, 0, JSTestNondeterministicPrototypeTableIndex };
</span><span class="cx"> const ClassInfo JSTestNondeterministicPrototype::s_info = { &quot;TestNondeterministicPrototype&quot;, &amp;Base::s_info, &amp;JSTestNondeterministicPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNondeterministicPrototype) };
</span><span class="cx"> 
</span><del>-JSObject* JSTestNondeterministicPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestNondeterministic&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestNondeterministicPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -144,6 +187,11 @@
</span><span class="cx">     return JSTestNondeterministicPrototype::create(vm, globalObject, JSTestNondeterministicPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestNondeterministic::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestNondeterministic&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestNondeterministic::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestNondeterministic* thisObject = static_cast&lt;JSTestNondeterministic*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestNondeterministic_h
</span><span class="cx"> #define JSTestNondeterministic_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestNondeterministic.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestNondeterministic();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -72,7 +70,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestNondeterministicOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -95,50 +92,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestNondeterministic*);
</span><span class="cx"> TestNondeterministic* toTestNondeterministic(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestNondeterministicPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestNondeterministicPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestNondeterministicPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNondeterministicPrototype&gt;(vm.heap)) JSTestNondeterministicPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestNondeterministicPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestNondeterministicConstructor : public DOMConstructorObject {
-private:
-    JSTestNondeterministicConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestNondeterministicConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestNondeterministicConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNondeterministicConstructor&gt;(vm.heap)) JSTestNondeterministicConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -154,6 +154,7 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVariadicDoubleMethod(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVariadicNodeMethod(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAny(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestObjReadOnlyLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="lines">@@ -290,6 +291,56 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> void setJSTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestObjPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestObjPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestObjPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestObjPrototype&gt;(vm.heap)) JSTestObjPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestObjPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestObjConstructor : public DOMConstructorObject {
+private:
+    JSTestObjConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestObjConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestObjConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestObjConstructor&gt;(vm.heap)) JSTestObjConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+protected:
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestObj(JSC::ExecState*);
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestObjTableIndex[17] = {
</span><span class="lines">@@ -455,7 +506,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestObjPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestObj::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
</span><span class="cx">     reifyStaticProperties(vm, JSTestObjConstructorTableValues, *this);
</span><span class="cx"> }
</span><span class="lines">@@ -1174,11 +1225,6 @@
</span><span class="cx"> static const HashTable JSTestObjPrototypeTable = { 137, 511, true, JSTestObjPrototypeTableValues, 0, JSTestObjPrototypeTableIndex };
</span><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><del>-JSObject* JSTestObjPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestObj&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestObjPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -1198,6 +1244,11 @@
</span><span class="cx">     return JSTestObjPrototype::create(vm, globalObject, JSTestObjPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestObj::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestObj&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestObj::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestObj* thisObject = static_cast&lt;JSTestObj*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestObj_h
</span><span class="cx"> #define JSTestObj_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestObj.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestObj();
</span><span class="lines">@@ -109,53 +107,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestObj*);
</span><span class="cx"> TestObj* toTestObj(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestObjPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestObjPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestObjPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestObjPrototype&gt;(vm.heap)) JSTestObjPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestObjPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestObjConstructor : public DOMConstructorObject {
-private:
-    JSTestObjConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestObjConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestObjConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestObjConstructor&gt;(vm.heap)) JSTestObjConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-protected:
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestObj(JSC::ExecState*);
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -35,6 +35,60 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestOverloadedConstructorsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestOverloadedConstructorsPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestOverloadedConstructorsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestOverloadedConstructorsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsPrototype&gt;(vm.heap)) JSTestOverloadedConstructorsPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestOverloadedConstructorsPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestOverloadedConstructorsConstructor : public DOMConstructorObject {
+private:
+    JSTestOverloadedConstructorsConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestOverloadedConstructorsConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestOverloadedConstructorsConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsConstructor&gt;(vm.heap)) JSTestOverloadedConstructorsConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+protected:
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors(JSC::ExecState*);
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors1(JSC::ExecState*);
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors2(JSC::ExecState*);
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors3(JSC::ExecState*);
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors4(JSC::ExecState*);
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestOverloadedConstructorsConstructorTableIndex[1] = {
</span><span class="lines">@@ -124,7 +178,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestOverloadedConstructorsPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestOverloadedConstructors::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(1), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -150,11 +204,6 @@
</span><span class="cx"> static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 1, 1, true, JSTestOverloadedConstructorsPrototypeTableValues, 0, JSTestOverloadedConstructorsPrototypeTableIndex };
</span><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><del>-JSObject* JSTestOverloadedConstructorsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestOverloadedConstructors&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestOverloadedConstructorsPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -174,6 +223,11 @@
</span><span class="cx">     return JSTestOverloadedConstructorsPrototype::create(vm, globalObject, JSTestOverloadedConstructorsPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestOverloadedConstructors::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestOverloadedConstructors&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestOverloadedConstructors::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestOverloadedConstructors* thisObject = static_cast&lt;JSTestOverloadedConstructors*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestOverloadedConstructors_h
</span><span class="cx"> #define JSTestOverloadedConstructors_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestOverloadedConstructors.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestOverloadedConstructors();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -72,7 +70,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverloadedConstructorsOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -95,57 +92,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestOverloadedConstructors*);
</span><span class="cx"> TestOverloadedConstructors* toTestOverloadedConstructors(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestOverloadedConstructorsPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestOverloadedConstructorsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestOverloadedConstructorsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsPrototype&gt;(vm.heap)) JSTestOverloadedConstructorsPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestOverloadedConstructorsPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestOverloadedConstructorsConstructor : public DOMConstructorObject {
-private:
-    JSTestOverloadedConstructorsConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestOverloadedConstructorsConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestOverloadedConstructorsConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsConstructor&gt;(vm.heap)) JSTestOverloadedConstructorsConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-protected:
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors(JSC::ExecState*);
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors1(JSC::ExecState*);
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors2(JSC::ExecState*);
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors3(JSC::ExecState*);
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestOverloadedConstructors4(JSC::ExecState*);
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSTestSerializedScriptValueInterface.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;JSMessagePort.h&quot;
</span><span class="cx"> #include &quot;MessagePort.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="lines">@@ -46,6 +47,53 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfacePorts(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValue(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestSerializedScriptValueInterfacePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestSerializedScriptValueInterfacePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestSerializedScriptValueInterfacePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestSerializedScriptValueInterfacePrototype&gt;(vm.heap)) JSTestSerializedScriptValueInterfacePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestSerializedScriptValueInterfacePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestSerializedScriptValueInterfaceConstructor : public DOMConstructorObject {
+private:
+    JSTestSerializedScriptValueInterfaceConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestSerializedScriptValueInterfaceConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestSerializedScriptValueInterfaceConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestSerializedScriptValueInterfaceConstructor&gt;(vm.heap)) JSTestSerializedScriptValueInterfaceConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestSerializedScriptValueInterfaceConstructorTableIndex[1] = {
</span><span class="lines">@@ -70,7 +118,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestSerializedScriptValueInterfacePrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestSerializedScriptValueInterface::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -110,11 +158,6 @@
</span><span class="cx"> static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 6, 15, true, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0, JSTestSerializedScriptValueInterfacePrototypeTableIndex };
</span><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><del>-JSObject* JSTestSerializedScriptValueInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestSerializedScriptValueInterface&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestSerializedScriptValueInterfacePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -134,6 +177,11 @@
</span><span class="cx">     return JSTestSerializedScriptValueInterfacePrototype::create(vm, globalObject, JSTestSerializedScriptValueInterfacePrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestSerializedScriptValueInterface::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestSerializedScriptValueInterface&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestSerializedScriptValueInterface::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestSerializedScriptValueInterface* thisObject = static_cast&lt;JSTestSerializedScriptValueInterface*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -23,11 +23,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestSerializedScriptValueInterface.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -42,6 +39,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestSerializedScriptValueInterface();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -101,50 +99,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestSerializedScriptValueInterface*);
</span><span class="cx"> TestSerializedScriptValueInterface* toTestSerializedScriptValueInterface(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestSerializedScriptValueInterfacePrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestSerializedScriptValueInterfacePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestSerializedScriptValueInterfacePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestSerializedScriptValueInterfacePrototype&gt;(vm.heap)) JSTestSerializedScriptValueInterfacePrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestSerializedScriptValueInterfacePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestSerializedScriptValueInterfaceConstructor : public DOMConstructorObject {
-private:
-    JSTestSerializedScriptValueInterfaceConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestSerializedScriptValueInterfaceConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestSerializedScriptValueInterfaceConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestSerializedScriptValueInterfaceConstructor&gt;(vm.heap)) JSTestSerializedScriptValueInterfaceConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(Condition1) || ENABLE(Condition2)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -56,6 +56,7 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionStringArrayFunction2(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestTypedefsPrototypeFunctionMethodWithException(JSC::ExecState*);
</span><ins>+
</ins><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="lines">@@ -72,6 +73,56 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> void setJSTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> JSC::EncodedJSValue jsTestTypedefsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSTestTypedefsPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSTestTypedefsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSTestTypedefsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestTypedefsPrototype&gt;(vm.heap)) JSTestTypedefsPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSTestTypedefsPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSTestTypedefsConstructor : public DOMConstructorObject {
+private:
+    JSTestTypedefsConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSTestTypedefsConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSTestTypedefsConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestTypedefsConstructor&gt;(vm.heap)) JSTestTypedefsConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+protected:
+    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestTypedefs(JSC::ExecState*);
+    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
+};
+
</ins><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSTestTypedefsTableIndex[2] = {
</span><span class="lines">@@ -125,7 +176,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestTypedefsPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSTestTypedefs::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(2), ReadOnly | DontDelete | DontEnum);
</span><span class="cx">     reifyStaticProperties(vm, JSTestTypedefsConstructorTableValues, *this);
</span><span class="cx"> }
</span><span class="lines">@@ -232,11 +283,6 @@
</span><span class="cx"> static const HashTable JSTestTypedefsPrototypeTable = { 17, 63, true, JSTestTypedefsPrototypeTableValues, 0, JSTestTypedefsPrototypeTableIndex };
</span><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><del>-JSObject* JSTestTypedefsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSTestTypedefs&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSTestTypedefsPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -256,6 +302,11 @@
</span><span class="cx">     return JSTestTypedefsPrototype::create(vm, globalObject, JSTestTypedefsPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSTestTypedefs::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSTestTypedefs&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSTestTypedefs::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSTestTypedefs* thisObject = static_cast&lt;JSTestTypedefs*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSTestTypedefs_h
</span><span class="cx"> #define JSTestTypedefs_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;TestTypedefs.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestTypedefs();
</span><span class="lines">@@ -96,53 +94,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestTypedefs*);
</span><span class="cx"> TestTypedefs* toTestTypedefs(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSTestTypedefsPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSTestTypedefsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSTestTypedefsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestTypedefsPrototype&gt;(vm.heap)) JSTestTypedefsPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSTestTypedefsPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSTestTypedefsConstructor : public DOMConstructorObject {
-private:
-    JSTestTypedefsConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSTestTypedefsConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSTestTypedefsConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestTypedefsConstructor&gt;(vm.heap)) JSTestTypedefsConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-protected:
-    static JSC::EncodedJSValue JSC_HOST_CALL constructJSTestTypedefs(JSC::ExecState*);
-    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&amp;);
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSattribute.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &quot;attribute.h&quot;
</span><span class="lines">@@ -35,6 +36,53 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsattributeReadonly(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsattributeConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSattributePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSattributePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSattributePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSattributePrototype&gt;(vm.heap)) JSattributePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSattributePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSattributeConstructor : public DOMConstructorObject {
+private:
+    JSattributeConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSattributeConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSattributeConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSattributeConstructor&gt;(vm.heap)) JSattributeConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSattributeConstructorTableIndex[1] = {
</span><span class="lines">@@ -59,7 +107,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSattributePrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSattribute::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -82,11 +130,6 @@
</span><span class="cx"> static const HashTable JSattributePrototypeTable = { 2, 3, true, JSattributePrototypeTableValues, 0, JSattributePrototypeTableIndex };
</span><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><del>-JSObject* JSattributePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSattribute&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSattributePrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -106,6 +149,11 @@
</span><span class="cx">     return JSattributePrototype::create(vm, globalObject, JSattributePrototype::createStructure(vm, globalObject, globalObject-&gt;errorPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSattribute::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSattribute&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSattribute::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSattribute* thisObject = static_cast&lt;JSattribute*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,9 @@
</span><span class="cx"> #ifndef JSattribute_h
</span><span class="cx"> #define JSattribute_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;attribute.h&quot;
</span><span class="cx"> #include &lt;runtime/ErrorPrototype.h&gt;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +38,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSattribute();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -72,7 +71,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSattributeOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -95,50 +93,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, attribute*);
</span><span class="cx"> attribute* toattribute(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSattributePrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSattributePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSattributePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSattributePrototype&gt;(vm.heap)) JSattributePrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSattributePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSattributeConstructor : public DOMConstructorObject {
-private:
-    JSattributeConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSattributeConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSattributeConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSattributeConstructor&gt;(vm.heap)) JSattributeConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSreadonly.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
</ins><span class="cx"> #include &quot;readonly.h&quot;
</span><span class="cx"> #include &lt;wtf/GetPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -31,6 +32,53 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsreadonlyConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
</span><ins>+
+class JSreadonlyPrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+    static JSreadonlyPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSreadonlyPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSreadonlyPrototype&gt;(vm.heap)) JSreadonlyPrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+private:
+    JSreadonlyPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+
+    void finishCreation(JSC::VM&amp;);
+};
+
+class JSreadonlyConstructor : public DOMConstructorObject {
+private:
+    JSreadonlyConstructor(JSC::Structure*, JSDOMGlobalObject*);
+    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
+
+public:
+    typedef DOMConstructorObject Base;
+    static JSreadonlyConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
+    {
+        JSreadonlyConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSreadonlyConstructor&gt;(vm.heap)) JSreadonlyConstructor(structure, globalObject);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    DECLARE_INFO;
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+};
+
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const struct CompactHashIndex JSreadonlyConstructorTableIndex[1] = {
</span><span class="lines">@@ -55,7 +103,7 @@
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    putDirect(vm, vm.propertyNames-&gt;prototype, JSreadonlyPrototype::self(vm, globalObject), DontDelete | ReadOnly);
</del><ins>+    putDirect(vm, vm.propertyNames-&gt;prototype, JSreadonly::getPrototype(vm, globalObject), DontDelete | ReadOnly);
</ins><span class="cx">     putDirect(vm, vm.propertyNames-&gt;length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -75,11 +123,6 @@
</span><span class="cx"> static const HashTable JSreadonlyPrototypeTable = { 1, 1, true, JSreadonlyPrototypeTableValues, 0, JSreadonlyPrototypeTableIndex };
</span><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><del>-JSObject* JSreadonlyPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
-{
-    return getDOMPrototype&lt;JSreadonly&gt;(vm, globalObject);
-}
-
</del><span class="cx"> void JSreadonlyPrototype::finishCreation(VM&amp; vm)
</span><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="lines">@@ -99,6 +142,11 @@
</span><span class="cx">     return JSreadonlyPrototype::create(vm, globalObject, JSreadonlyPrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSObject* JSreadonly::getPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return getDOMPrototype&lt;JSreadonly&gt;(vm, globalObject);
+}
+
</ins><span class="cx"> void JSreadonly::destroy(JSC::JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     JSreadonly* thisObject = static_cast&lt;JSreadonly*&gt;(cell);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h (170166 => 170167)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2014-06-19 22:57:03 UTC (rev 170166)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2014-06-19 23:42:24 UTC (rev 170167)
</span><span class="lines">@@ -21,11 +21,8 @@
</span><span class="cx"> #ifndef JSreadonly_h
</span><span class="cx"> #define JSreadonly_h
</span><span class="cx"> 
</span><del>-#include &quot;JSDOMBinding.h&quot;
</del><ins>+#include &quot;JSDOMWrapper.h&quot;
</ins><span class="cx"> #include &quot;readonly.h&quot;
</span><del>-#include &lt;runtime/JSGlobalObject.h&gt;
-#include &lt;runtime/JSObject.h&gt;
-#include &lt;runtime/ObjectPrototype.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -40,6 +37,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><ins>+    static JSC::JSObject* getPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</ins><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSreadonly();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -72,7 +70,6 @@
</span><span class="cx">         ASSERT(inherits(info()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static const unsigned StructureFlags = Base::StructureFlags;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JSreadonlyOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -95,50 +92,7 @@
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, readonly*);
</span><span class="cx"> readonly* toreadonly(JSC::JSValue);
</span><span class="cx"> 
</span><del>-class JSreadonlyPrototype : public JSC::JSNonFinalObject {
-public:
-    typedef JSC::JSNonFinalObject Base;
-    static JSC::JSObject* self(JSC::VM&amp;, JSC::JSGlobalObject*);
-    static JSreadonlyPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
-    {
-        JSreadonlyPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSreadonlyPrototype&gt;(vm.heap)) JSreadonlyPrototype(vm, globalObject, structure);
-        ptr-&gt;finishCreation(vm);
-        return ptr;
-    }
</del><span class="cx"> 
</span><del>-    DECLARE_INFO;
-    void finishCreation(JSC::VM&amp;);
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-
-private:
-    JSreadonlyPrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure) : JSC::JSNonFinalObject(vm, structure) { }
-};
-
-class JSreadonlyConstructor : public DOMConstructorObject {
-private:
-    JSreadonlyConstructor(JSC::Structure*, JSDOMGlobalObject*);
-    void finishCreation(JSC::VM&amp;, JSDOMGlobalObject*);
-
-public:
-    typedef DOMConstructorObject Base;
-    static JSreadonlyConstructor* create(JSC::VM&amp; vm, JSC::Structure* structure, JSDOMGlobalObject* globalObject)
-    {
-        JSreadonlyConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSreadonlyConstructor&gt;(vm.heap)) JSreadonlyConstructor(structure, globalObject);
-        ptr-&gt;finishCreation(vm, globalObject);
-        return ptr;
-    }
-
-    DECLARE_INFO;
-    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
-    {
-        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
-    }
-};
-
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre>
</div>
</div>

</body>
</html>