<!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>[189881] 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/189881">189881</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-09-16 16:01:09 -0700 (Wed, 16 Sep 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>WebIDL: Rename [ReturnNewObject] to [NewObject] and use it more consistently in DOM
https://bugs.webkit.org/show_bug.cgi?id=149192

Reviewed by Darin Adler.

Rename [ReturnNewObject] to [NewObject] and use it more consistently in
DOM.

This aligns our IDL extended attribute naming with standard Web IDL:
https://heycam.github.io/webidl/#NewObject

We already have [ReturnNewObject] in most places that the DOM
specification uses [NewObject] but we are missing a few so I'll
fix this as well:
https://dom.spec.whatwg.org/#interface-document

Using [NewObject] lets the bindings generator know that the API in
question always returns new objects and that we can bypass the check
for existing wrappers and directly create a new wrapper for the
returned object.

This patch also adds support for generating the toJSNewlyCreated()
utility function for most types. Previously, to use [ReturnNewObject]
for a new type, you needed to add the type to a hard-coded list in
the bindings generator then provide your own implementation for
toJSNewlyCreated() as custom bindings.

No new-exposed behavior change.

* bindings/js/JSDocumentCustom.cpp:
* bindings/js/JSEventCustom.cpp:
* bindings/js/JSNodeListCustom.cpp:
Add toJSNewlyCreated() custom implementation for Node, Event and
Document, that shares code with the existing toJS() implementation for
those types.

* bindings/js/JSCDATASectionCustom.cpp: Removed.
* bindings/js/JSTextCustom.cpp: Removed.
* bindings/js/JSTouchCustom.cpp: Removed.
* bindings/js/JSTouchListCustom.cpp: Removed.
Drop several custom bindings files as the bindings generator is
now able to generate the toJSNewlyCreated() utility function for
most types.

* bindings/scripts/CodeGeneratorJS.pm:
- Rename [ReturnNewObject] to [NewObject].
- Generate a toJSNewlyCreated() whenever we generate a toJS() already.
  Get rid of the hard-coded list of types that need a
  toJSNewlyCreated().

* bindings/scripts/IDLAttributes.txt:
Rename [ReturnNewObject] to [NewObject].

* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.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/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/JSTestOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.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:
Rebaseline bindings tests.

* dom/Attr.idl:
* dom/CDATASection.idl:
* dom/Comment.idl:
* dom/DocumentFragment.idl:
* dom/DocumentType.idl:
* dom/EntityReference.idl:
* dom/ProcessingInstruction.idl:
Add [JSGenerateToJSObject] so that the bindings generator generates
a toJS() / toJSNewlyCreated() for this type. While it is not strictly
needed, it avoids falling back to using the toJS() from Node which
calls the virtual nodeType() function to determine the node type.
This change was made for efficiency purposes.

* dom/DOMImplementation.idl:
Rename [ReturnNewObject] to [NewObject] and add it to createHTMLDocument()
as well, as per the specification:
https://dom.spec.whatwg.org/#interface-domimplementation

* dom/Document.idl:
Rename [ReturnNewObject] to [NewObject] and add it to more operations
as per he DOM specification:
https://dom.spec.whatwg.org/#document

* dom/Node.idl:
Add [NewObject] to cloneNode() as per the DOM specification:
https://dom.spec.whatwg.org/#node

* dom/ParentNode.idl:
Add [NewObject] to querySelectorAll() as per the DOM specification:
https://dom.spec.whatwg.org/#parentnode

* dom/Range.idl:
Add [NewObject] for several operations, as per the DOM specification:
https://dom.spec.whatwg.org/#interface-range</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp">trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSElementCustomh">trunk/Source/WebCore/bindings/js/JSElementCustom.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventCustomcpp">trunk/Source/WebCore/bindings/js/JSEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeListCustomcpp">trunk/Source/WebCore/bindings/js/JSNodeListCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsIDLAttributestxt">trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt</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="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjecth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.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="#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="#trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.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>
<li><a href="#trunkSourceWebCoredomAttridl">trunk/Source/WebCore/dom/Attr.idl</a></li>
<li><a href="#trunkSourceWebCoredomCDATASectionidl">trunk/Source/WebCore/dom/CDATASection.idl</a></li>
<li><a href="#trunkSourceWebCoredomCommentidl">trunk/Source/WebCore/dom/Comment.idl</a></li>
<li><a href="#trunkSourceWebCoredomDOMImplementationidl">trunk/Source/WebCore/dom/DOMImplementation.idl</a></li>
<li><a href="#trunkSourceWebCoredomDocumentidl">trunk/Source/WebCore/dom/Document.idl</a></li>
<li><a href="#trunkSourceWebCoredomDocumentFragmentidl">trunk/Source/WebCore/dom/DocumentFragment.idl</a></li>
<li><a href="#trunkSourceWebCoredomDocumentTypeidl">trunk/Source/WebCore/dom/DocumentType.idl</a></li>
<li><a href="#trunkSourceWebCoredomEntityReferenceidl">trunk/Source/WebCore/dom/EntityReference.idl</a></li>
<li><a href="#trunkSourceWebCoredomNodeidl">trunk/Source/WebCore/dom/Node.idl</a></li>
<li><a href="#trunkSourceWebCoredomParentNodeidl">trunk/Source/WebCore/dom/ParentNode.idl</a></li>
<li><a href="#trunkSourceWebCoredomProcessingInstructionidl">trunk/Source/WebCore/dom/ProcessingInstruction.idl</a></li>
<li><a href="#trunkSourceWebCoredomRangeidl">trunk/Source/WebCore/dom/Range.idl</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsJSCDATASectionCustomcpp">trunk/Source/WebCore/bindings/js/JSCDATASectionCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSTextCustomcpp">trunk/Source/WebCore/bindings/js/JSTextCustom.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>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -1089,7 +1089,6 @@
</span><span class="cx">     bindings/js/JSAudioTrackListCustom.cpp
</span><span class="cx">     bindings/js/JSBiquadFilterNodeCustom.cpp
</span><span class="cx">     bindings/js/JSBlobCustom.cpp
</span><del>-    bindings/js/JSCDATASectionCustom.cpp
</del><span class="cx">     bindings/js/JSCSSRuleCustom.cpp
</span><span class="cx">     bindings/js/JSCSSRuleListCustom.cpp
</span><span class="cx">     bindings/js/JSCSSStyleDeclarationCustom.cpp
</span><span class="lines">@@ -1204,12 +1203,9 @@
</span><span class="cx">     bindings/js/JSStyleSheetCustom.cpp
</span><span class="cx">     bindings/js/JSStyleSheetListCustom.cpp
</span><span class="cx">     bindings/js/JSSubtleCryptoCustom.cpp
</span><del>-    bindings/js/JSTextCustom.cpp
</del><span class="cx">     bindings/js/JSTextTrackCueCustom.cpp
</span><span class="cx">     bindings/js/JSTextTrackCustom.cpp
</span><span class="cx">     bindings/js/JSTextTrackListCustom.cpp
</span><del>-    bindings/js/JSTouchCustom.cpp
-    bindings/js/JSTouchListCustom.cpp
</del><span class="cx">     bindings/js/JSTrackCustom.cpp
</span><span class="cx">     bindings/js/JSTrackEventCustom.cpp
</span><span class="cx">     bindings/js/JSTreeWalkerCustom.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/ChangeLog        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -1,3 +1,131 @@
</span><ins>+2015-09-16  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        WebIDL: Rename [ReturnNewObject] to [NewObject] and use it more consistently in DOM
+        https://bugs.webkit.org/show_bug.cgi?id=149192
+
+        Reviewed by Darin Adler.
+
+        Rename [ReturnNewObject] to [NewObject] and use it more consistently in
+        DOM.
+
+        This aligns our IDL extended attribute naming with standard Web IDL:
+        https://heycam.github.io/webidl/#NewObject
+
+        We already have [ReturnNewObject] in most places that the DOM
+        specification uses [NewObject] but we are missing a few so I'll
+        fix this as well:
+        https://dom.spec.whatwg.org/#interface-document
+
+        Using [NewObject] lets the bindings generator know that the API in
+        question always returns new objects and that we can bypass the check
+        for existing wrappers and directly create a new wrapper for the
+        returned object.
+
+        This patch also adds support for generating the toJSNewlyCreated()
+        utility function for most types. Previously, to use [ReturnNewObject]
+        for a new type, you needed to add the type to a hard-coded list in
+        the bindings generator then provide your own implementation for
+        toJSNewlyCreated() as custom bindings.
+
+        No new-exposed behavior change.
+
+        * bindings/js/JSDocumentCustom.cpp:
+        * bindings/js/JSEventCustom.cpp:
+        * bindings/js/JSNodeListCustom.cpp:
+        Add toJSNewlyCreated() custom implementation for Node, Event and
+        Document, that shares code with the existing toJS() implementation for
+        those types.
+
+        * bindings/js/JSCDATASectionCustom.cpp: Removed.
+        * bindings/js/JSTextCustom.cpp: Removed.
+        * bindings/js/JSTouchCustom.cpp: Removed.
+        * bindings/js/JSTouchListCustom.cpp: Removed.
+        Drop several custom bindings files as the bindings generator is
+        now able to generate the toJSNewlyCreated() utility function for
+        most types.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        - Rename [ReturnNewObject] to [NewObject].
+        - Generate a toJSNewlyCreated() whenever we generate a toJS() already.
+          Get rid of the hard-coded list of types that need a
+          toJSNewlyCreated().
+
+        * bindings/scripts/IDLAttributes.txt:
+        Rename [ReturnNewObject] to [NewObject].
+
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
+        * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
+        * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.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/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/JSTestOverrideBuiltins.cpp:
+        * bindings/scripts/test/JS/JSTestOverrideBuiltins.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:
+        Rebaseline bindings tests.
+
+        * dom/Attr.idl:
+        * dom/CDATASection.idl:
+        * dom/Comment.idl:
+        * dom/DocumentFragment.idl:
+        * dom/DocumentType.idl:
+        * dom/EntityReference.idl:
+        * dom/ProcessingInstruction.idl:
+        Add [JSGenerateToJSObject] so that the bindings generator generates
+        a toJS() / toJSNewlyCreated() for this type. While it is not strictly
+        needed, it avoids falling back to using the toJS() from Node which
+        calls the virtual nodeType() function to determine the node type.
+        This change was made for efficiency purposes.
+
+        * dom/DOMImplementation.idl:
+        Rename [ReturnNewObject] to [NewObject] and add it to createHTMLDocument()
+        as well, as per the specification:
+        https://dom.spec.whatwg.org/#interface-domimplementation
+
+        * dom/Document.idl:
+        Rename [ReturnNewObject] to [NewObject] and add it to more operations
+        as per he DOM specification:
+        https://dom.spec.whatwg.org/#document
+
+        * dom/Node.idl:
+        Add [NewObject] to cloneNode() as per the DOM specification:
+        https://dom.spec.whatwg.org/#node
+
+        * dom/ParentNode.idl:
+        Add [NewObject] to querySelectorAll() as per the DOM specification:
+        https://dom.spec.whatwg.org/#parentnode
+
+        * dom/Range.idl:
+        Add [NewObject] for several operations, as per the DOM specification:
+        https://dom.spec.whatwg.org/#interface-range
+
</ins><span class="cx"> 2015-09-16  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Have window.indexedDB.deleteDatabase return an IDBOpenDBRequest.
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -17475,20 +17475,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCDATASectionCustom.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSCommandLineAPIHostCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -18721,20 +18707,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSTextCustom.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSTreeWalkerCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -22859,4 +22831,4 @@
</span><span class="cx">   &lt;ImportGroup Label=&quot;ExtensionTargets&quot;&gt;
</span><span class="cx">     &lt;Import Project=&quot;$(VCTargetsPath)\BuildCustomizations\masm.targets&quot; /&gt;
</span><span class="cx">   &lt;/ImportGroup&gt;
</span><del>-&lt;/Project&gt;
</del><span class="cx">\ No newline at end of file
</span><ins>+&lt;/Project&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -4236,9 +4236,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSCanvasRenderingContextCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCDATASectionCustom.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSCommandLineAPIHostCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4449,9 +4446,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSSVGPathSegCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSTextCustom.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSTreeWalkerCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -15462,4 +15456,4 @@
</span><span class="cx">       &lt;Filter&gt;platform\win&lt;/Filter&gt;
</span><span class="cx">     &lt;/MASM&gt;
</span><span class="cx">   &lt;/ItemGroup&gt;
</span><del>-&lt;/Project&gt;
</del><span class="cx">\ No newline at end of file
</span><ins>+&lt;/Project&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -690,7 +690,6 @@
</span><span class="cx">                 1A2A68240B5BEDE70002A480 /* ProgressTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2A68220B5BEDE70002A480 /* ProgressTracker.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1A2AAC580DC2A3B100A20D9A /* ApplicationCacheStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2AAC560DC2A3B100A20D9A /* ApplicationCacheStorage.cpp */; };
</span><span class="cx">                 1A2AAC590DC2A3B100A20D9A /* ApplicationCacheStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2AAC570DC2A3B100A20D9A /* ApplicationCacheStorage.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                1A2C40AB0DEB55AA005AF19E /* JSTextCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2C40AA0DEB55AA005AF19E /* JSTextCustom.cpp */; };
</del><span class="cx">                 1A2E6E590CC55213004A2062 /* SQLValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2E6E570CC55213004A2062 /* SQLValue.cpp */; };
</span><span class="cx">                 1A2E6E5A0CC55213004A2062 /* SQLValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2E6E580CC55213004A2062 /* SQLValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1A2E6E7A0CC556D5004A2062 /* SQLiteAuthorizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2E6E780CC556D5004A2062 /* SQLiteAuthorizer.cpp */; };
</span><span class="lines">@@ -3513,7 +3512,6 @@
</span><span class="cx">                 93B70D6F09EB0C7C009D8468 /* ScriptController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93B70D5309EB0C7C009D8468 /* ScriptController.cpp */; };
</span><span class="cx">                 93B70D7009EB0C7C009D8468 /* ScriptController.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B70D5409EB0C7C009D8468 /* ScriptController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 93B77A380ADD792500EA4B81 /* FrameLoaderTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B77A370ADD792500EA4B81 /* FrameLoaderTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                93BA59B20F2AA5FE008E8E99 /* JSCDATASectionCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93BA59B10F2AA5FE008E8E99 /* JSCDATASectionCustom.cpp */; };
</del><span class="cx">                 93C09A530B064DB3005ABD4D /* EventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 93C09A520B064DB3005ABD4D /* EventHandler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 93C09A7F0B064EEF005ABD4D /* EventHandlerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93C09A7E0B064EEF005ABD4D /* EventHandlerMac.mm */; };
</span><span class="cx">                 93C09A810B064F00005ABD4D /* EventHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93C09A800B064F00005ABD4D /* EventHandler.cpp */; };
</span><span class="lines">@@ -7870,7 +7868,6 @@
</span><span class="cx">                 1A2A68220B5BEDE70002A480 /* ProgressTracker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProgressTracker.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A2AAC560DC2A3B100A20D9A /* ApplicationCacheStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationCacheStorage.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A2AAC570DC2A3B100A20D9A /* ApplicationCacheStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationCacheStorage.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                1A2C40AA0DEB55AA005AF19E /* JSTextCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTextCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 1A2E6E570CC55213004A2062 /* SQLValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A2E6E580CC55213004A2062 /* SQLValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A2E6E780CC556D5004A2062 /* SQLiteAuthorizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLiteAuthorizer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10893,7 +10890,6 @@
</span><span class="cx">                 93B70D5309EB0C7C009D8468 /* ScriptController.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93B70D5409EB0C7C009D8468 /* ScriptController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ScriptController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93B77A370ADD792500EA4B81 /* FrameLoaderTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameLoaderTypes.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                93BA59B10F2AA5FE008E8E99 /* JSCDATASectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCDATASectionCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 93C09A520B064DB3005ABD4D /* EventHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventHandler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93C09A7E0B064EEF005ABD4D /* EventHandlerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventHandlerMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93C09A800B064F00005ABD4D /* EventHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventHandler.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -21592,7 +21588,6 @@
</span><span class="cx">                                 8931DE5A14C44C44000DC9D2 /* JSBlobCustom.cpp */,
</span><span class="cx">                                 49EED14B1051971900099FAB /* JSCanvasRenderingContext2DCustom.cpp */,
</span><span class="cx">                                 49EED14D1051971A00099FAB /* JSCanvasRenderingContextCustom.cpp */,
</span><del>-                                93BA59B10F2AA5FE008E8E99 /* JSCDATASectionCustom.cpp */,
</del><span class="cx">                                 7C33F3581B4A044800502CAF /* JSCharacterDataCustom.cpp */,
</span><span class="cx">                                 A584FE371864DAC100843B10 /* JSCommandLineAPIHostCustom.cpp */,
</span><span class="cx">                                 148B4FF71B69042100C954E4 /* JSCountQueuingStrategyCustom.cpp */,
</span><span class="lines">@@ -21688,7 +21683,6 @@
</span><span class="cx">                                 E1FF8F661807460800132674 /* JSSubtleCryptoCustom.cpp */,
</span><span class="cx">                                 08E4FE450E2BD41400F4CAE0 /* JSSVGLengthCustom.cpp */,
</span><span class="cx">                                 B2C96D8C0B3AF2B7005E80EC /* JSSVGPathSegCustom.cpp */,
</span><del>-                                1A2C40AA0DEB55AA005AF19E /* JSTextCustom.cpp */,
</del><span class="cx">                                 07E117061489EBEB00EC5ACE /* JSTextTrackCueCustom.cpp */,
</span><span class="cx">                                 07E116B01489C9A100EC5ACE /* JSTextTrackCustom.cpp */,
</span><span class="cx">                                 07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */,
</span><span class="lines">@@ -29021,7 +29015,6 @@
</span><span class="cx">                                 49EED1501051971A00099FAB /* JSCanvasRenderingContextCustom.cpp in Sources */,
</span><span class="cx">                                 073AB4B717F92ECF006E0D6F /* JSCapabilityRange.cpp in Sources */,
</span><span class="cx">                                 93F9B7A00BA6032600854064 /* JSCDATASection.cpp in Sources */,
</span><del>-                                93BA59B20F2AA5FE008E8E99 /* JSCDATASectionCustom.cpp in Sources */,
</del><span class="cx">                                 FDA15EA112B03EE1003A583A /* JSChannelMergerNode.cpp in Sources */,
</span><span class="cx">                                 FDA15EA312B03EE1003A583A /* JSChannelSplitterNode.cpp in Sources */,
</span><span class="cx">                                 65DF31F309D1CC60000BE325 /* JSCharacterData.cpp in Sources */,
</span><span class="lines">@@ -29585,7 +29578,6 @@
</span><span class="cx">                                 71DCB7011568197600862271 /* JSSVGZoomAndPan.cpp in Sources */,
</span><span class="cx">                                 B2FA3E180AB75A6F000E5AC4 /* JSSVGZoomEvent.cpp in Sources */,
</span><span class="cx">                                 65DF320309D1CC60000BE325 /* JSText.cpp in Sources */,
</span><del>-                                1A2C40AB0DEB55AA005AF19E /* JSTextCustom.cpp in Sources */,
</del><span class="cx">                                 933A14B80B7D1D5200A53FFD /* JSTextEvent.cpp in Sources */,
</span><span class="cx">                                 BCEF45F50E687B5C001C1287 /* JSTextMetrics.cpp in Sources */,
</span><span class="cx">                                 070756941422668D00414161 /* JSTextTrack.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;JSAudioTrackCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSAudioTrackListCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSBlobCustom.cpp&quot;
</span><del>-#include &quot;JSCDATASectionCustom.cpp&quot;
</del><span class="cx"> #if ENABLE(STREAMS_API)
</span><span class="cx"> #include &quot;JSCountQueuingStrategyCustom.cpp&quot;
</span><span class="cx"> #endif
</span><span class="lines">@@ -133,12 +132,9 @@
</span><span class="cx"> #include &quot;JSStorageCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSStyleSheetCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSStyleSheetListCustom.cpp&quot;
</span><del>-#include &quot;JSTextCustom.cpp&quot;
</del><span class="cx"> #include &quot;JSTextTrackCueCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSTextTrackCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSTextTrackListCustom.cpp&quot;
</span><del>-#include &quot;JSTouchCustom.cpp&quot;
-#include &quot;JSTouchListCustom.cpp&quot;
</del><span class="cx"> #include &quot;JSTrackCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSTrackEventCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSTreeWalkerCustom.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCDATASectionCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSCDATASectionCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCDATASectionCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSCDATASectionCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -1,43 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2009 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include &quot;config.h&quot;
-#include &quot;JSCDATASection.h&quot;
-
-#include &quot;CDATASection.h&quot;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue toJSNewlyCreated(ExecState*, JSDOMGlobalObject* globalObject, CDATASection* section)
-{
-    if (!section)
-        return jsNull();
-
-    return CREATE_DOM_WRAPPER(globalObject, CDATASection, section);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -79,8 +79,33 @@
</span><span class="cx">         location-&gt;setHref(locationString, activeDOMWindow(exec), firstDOMWindow(exec));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Document* document)
</del><ins>+static inline JSValue createNewDocumentWrapper(ExecState&amp; state, JSDOMGlobalObject&amp; globalObject, Document&amp; document)
</ins><span class="cx"> {
</span><ins>+    JSObject* wrapper;
+    if (document.isHTMLDocument())
+        wrapper = CREATE_DOM_WRAPPER(&amp;globalObject, HTMLDocument, &amp;document);
+    else if (document.isSVGDocument())
+        wrapper = CREATE_DOM_WRAPPER(&amp;globalObject, SVGDocument, &amp;document);
+    else
+        wrapper = CREATE_DOM_WRAPPER(&amp;globalObject, Document, &amp;document);
+
+    // Make sure the document is kept around by the window object, and works right with the
+    // back/forward cache.
+    if (!document.frame()) {
+        size_t nodeCount = 0;
+        for (Node* n = &amp;document; n; n = NodeTraversal::next(*n))
+            ++nodeCount;
+
+        // FIXME: Adopt reportExtraMemoryVisited, and switch to reportExtraMemoryAllocated.
+        // https://bugs.webkit.org/show_bug.cgi?id=142595
+        state.heap()-&gt;deprecatedReportExtraMemory(nodeCount * sizeof(Node));
+    }
+
+    return wrapper;
+}
+
+JSValue toJS(ExecState* state, JSDOMGlobalObject* globalObject, Document* document)
+{
</ins><span class="cx">     if (!document)
</span><span class="cx">         return jsNull();
</span><span class="cx"> 
</span><span class="lines">@@ -89,33 +114,19 @@
</span><span class="cx">         return wrapper;
</span><span class="cx"> 
</span><span class="cx">     if (DOMWindow* domWindow = document-&gt;domWindow()) {
</span><del>-        globalObject = toJSDOMWindow(toJS(exec, domWindow));
</del><ins>+        globalObject = toJSDOMWindow(toJS(state, domWindow));
</ins><span class="cx">         // Creating a wrapper for domWindow might have created a wrapper for document as well.
</span><span class="cx">         wrapper = getCachedWrapper(globalObject-&gt;world(), document);
</span><span class="cx">         if (wrapper)
</span><span class="cx">             return wrapper;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (document-&gt;isHTMLDocument())
-        wrapper = CREATE_DOM_WRAPPER(globalObject, HTMLDocument, document);
-    else if (document-&gt;isSVGDocument())
-        wrapper = CREATE_DOM_WRAPPER(globalObject, SVGDocument, document);
-    else
-        wrapper = CREATE_DOM_WRAPPER(globalObject, Document, document);
</del><ins>+    return createNewDocumentWrapper(*state, *globalObject, *document);
+}
</ins><span class="cx"> 
</span><del>-    // Make sure the document is kept around by the window object, and works right with the
-    // back/forward cache.
-    if (!document-&gt;frame()) {
-        size_t nodeCount = 0;
-        for (Node* n = document; n; n = NodeTraversal::next(*n))
-            nodeCount++;
-        
-        // FIXME: Adopt reportExtraMemoryVisited, and switch to reportExtraMemoryAllocated.
-        // https://bugs.webkit.org/show_bug.cgi?id=142595
-        exec-&gt;heap()-&gt;deprecatedReportExtraMemory(nodeCount * sizeof(Node));
-    }
-
-    return wrapper;
</del><ins>+JSValue toJSNewlyCreated(ExecState* state, JSDOMGlobalObject* globalObject, Document* document)
+{
+    return document ? createNewDocumentWrapper(*state, *globalObject, *document) : jsNull();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSValue JSDocument::prepend(ExecState* state)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSElementCustomh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSElementCustom.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSElementCustom.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSElementCustom.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -31,6 +31,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, Element*);
+
</ins><span class="cx"> ALWAYS_INLINE JSElement* jsElementCast(JSC::JSValue value)
</span><span class="cx"> {
</span><span class="cx">     if (UNLIKELY(!value.isCell()))
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -51,8 +51,17 @@
</span><span class="cx"> 
</span><span class="cx"> #define TRY_TO_WRAP_WITH_INTERFACE(interfaceName) \
</span><span class="cx">     case interfaceName##InterfaceType: \
</span><del>-        return CREATE_DOM_WRAPPER(globalObject, interfaceName, event);
</del><ins>+        return CREATE_DOM_WRAPPER(&amp;globalObject, interfaceName, &amp;event);
</ins><span class="cx"> 
</span><ins>+static inline JSValue createNewEventWrapper(JSDOMGlobalObject&amp; globalObject, Event&amp; event)
+{
+    switch (event.eventInterface()) {
+        DOM_EVENT_INTERFACES_FOR_EACH(TRY_TO_WRAP_WITH_INTERFACE)
+    }
+
+    return CREATE_DOM_WRAPPER(&amp;globalObject, Event, &amp;event);
+}
+
</ins><span class="cx"> JSValue toJS(ExecState*, JSDOMGlobalObject* globalObject, Event* event)
</span><span class="cx"> {
</span><span class="cx">     JSLockHolder lock(globalObject-&gt;vm());
</span><span class="lines">@@ -64,11 +73,13 @@
</span><span class="cx">     if (wrapper)
</span><span class="cx">         return wrapper;
</span><span class="cx"> 
</span><del>-    switch (event-&gt;eventInterface()) {
-        DOM_EVENT_INTERFACES_FOR_EACH(TRY_TO_WRAP_WITH_INTERFACE)
-    }
</del><ins>+    return createNewEventWrapper(*globalObject, *event);
+}
</ins><span class="cx"> 
</span><del>-    return CREATE_DOM_WRAPPER(globalObject, Event, event);
</del><ins>+
+JSValue toJSNewlyCreated(ExecState*, JSDOMGlobalObject* globalObject, Event* event)
+{
+    return event ? createNewEventWrapper(*globalObject, *event) : jsNull();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #undef TRY_TO_WRAP_WITH_INTERFACE
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeListCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeListCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeListCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSNodeListCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -59,4 +59,12 @@
</span><span class="cx">     return createNewWrapper&lt;JSNodeList&gt;(&amp;globalObject, &amp;nodeList);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, NodeList* nodeList)
+{
+    if (!nodeList)
+        return JSC::jsNull();
+
+    return createWrapper(*globalObject, *nodeList);
+}
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTextCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSTextCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTextCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSTextCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -1,43 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include &quot;config.h&quot;
-#include &quot;JSText.h&quot;
-
-#include &quot;Text.h&quot;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue toJSNewlyCreated(ExecState*, JSDOMGlobalObject* globalObject, Text* text)
-{
-    if (!text)
-        return jsNull();
-    
-    return CREATE_DOM_WRAPPER(globalObject, Text, text);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTouchCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSTouchCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-/*
- * Copyright 2010, The Android Open Source Project
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if !PLATFORM(IOS)
-#if ENABLE(TOUCH_EVENTS)
-
-#include &quot;JSTouch.h&quot;
-
-#include &quot;JSDOMBinding.h&quot;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue toJSNewlyCreated(ExecState*, JSDOMGlobalObject* globalObject, Touch* touch)
-{
-    if (!touch)
-        return jsNull();
-
-    return CREATE_DOM_WRAPPER(globalObject, Touch, touch);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(TOUCH_EVENTS)
-#endif // !PLATFORM(IOS)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSTouchListCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/js/JSTouchListCustom.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-/*
- * Copyright 2010, The Android Open Source Project
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if !PLATFORM(IOS)
-#if ENABLE(TOUCH_EVENTS)
-
-#include &quot;JSTouchList.h&quot;
-
-#include &quot;JSDOMBinding.h&quot;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue toJSNewlyCreated(ExecState*, JSDOMGlobalObject* globalObject, TouchList* touchList)
-{
-    if (!touchList)
-        return jsNull();
-
-    return CREATE_DOM_WRAPPER(globalObject, TouchList, touchList);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(TOUCH_EVENTS)
-#endif // !PLATFORM(IOS)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -509,15 +509,6 @@
</span><span class="cx">     return @implContentHeader;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-my %usesToJSNewlyCreated = (
-    &quot;CDATASection&quot; =&gt; 1,
-    &quot;Element&quot; =&gt; 1,
-    &quot;Node&quot; =&gt; 1,
-    &quot;Text&quot; =&gt; 1,
-    &quot;Touch&quot; =&gt; 1,
-    &quot;TouchList&quot; =&gt; 1
-);
-
</del><span class="cx"> sub ShouldGenerateToJSDeclaration
</span><span class="cx"> {
</span><span class="cx">     my ($hasParent, $interface) = @_;
</span><span class="lines">@@ -1215,11 +1206,10 @@
</span><span class="cx">             push(@headerContent, $exportLabel.&quot;JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n&quot;);
</span><span class="cx">         }
</span><span class="cx">         push(@headerContent, &quot;inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, $implType&amp; impl) { return toJS(exec, globalObject, &amp;impl); }\n&quot;);
</span><ins>+
+        push(@headerContent, &quot;JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n&quot;);
</ins><span class="cx">     }
</span><del>-    if ($usesToJSNewlyCreated{$interfaceName}) {
-        push(@headerContent, &quot;JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, $interfaceName*);\n&quot;);
-    }
-    
</del><ins>+
</ins><span class="cx">     push(@headerContent, &quot;\n&quot;);
</span><span class="cx"> 
</span><span class="cx">     # Add prototype declaration.
</span><span class="lines">@@ -3064,8 +3054,22 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* ${vtableNameGnu}[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
</ins><span class="cx"> END
</span><span class="cx"> 
</span><ins>+        push(@implContent, &quot;JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, $implType* impl)\n&quot;);
+        push(@implContent, &quot;{\n&quot;);
+push(@implContent, &lt;&lt;END);
+    if (!impl)
+        return jsNull();
+END
+        if ($svgPropertyType) {
+            push(@implContent, &quot;    return createNewWrapper&lt;$className, $implType&gt;(globalObject, impl);\n&quot;);
+        } else {
+            push(@implContent, &quot;    return createNewWrapper&lt;$className&gt;(globalObject, impl);\n&quot;);
+        }
+        push(@implContent, &quot;}\n\n&quot;);
+
</ins><span class="cx">         push(@implContent, &quot;JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, $implType* impl)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &lt;&lt;END);
</span><span class="lines">@@ -4126,7 +4130,7 @@
</span><span class="cx"> 
</span><span class="cx">     return $value if $codeGenerator-&gt;IsSVGAnimatedType($type);
</span><span class="cx"> 
</span><del>-    if ($signature-&gt;extendedAttributes-&gt;{&quot;ReturnNewObject&quot;}) {
</del><ins>+    if ($signature-&gt;extendedAttributes-&gt;{&quot;NewObject&quot;}) {
</ins><span class="cx">         return &quot;toJSNewlyCreated(exec, $globalObject, WTF::getPtr($value))&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsIDLAttributestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -88,6 +88,7 @@
</span><span class="cx"> MasqueradesAsUndefined
</span><span class="cx"> NamedConstructor=*
</span><span class="cx"> NewImpurePropertyFiresWatchpoints
</span><ins>+NewObject
</ins><span class="cx"> NoInterfaceObject
</span><span class="cx"> Nondeterministic
</span><span class="cx"> NotEnumerable
</span><span class="lines">@@ -107,7 +108,6 @@
</span><span class="cx"> ReplaceableConstructor
</span><span class="cx"> ReportExtraMemoryCost
</span><span class="cx"> RequiresExistingAtomicString
</span><del>-ReturnNewObject
</del><span class="cx"> SetterRaisesException
</span><span class="cx"> SkipVTableValidation
</span><span class="cx"> StrictTypeChecking
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -262,6 +262,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore19TestActiveDOMObjectE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestActiveDOMObject* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestActiveDOMObject&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestActiveDOMObject* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -84,6 +84,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestActiveDOMObject*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestActiveDOMObject&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestActiveDOMObject*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -179,6 +179,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore42TestCustomConstructorWithNoInterfaceObjectE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestCustomConstructorWithNoInterfaceObject* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestCustomConstructorWithNoInterfaceObject&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestCustomConstructorWithNoInterfaceObject* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -80,6 +80,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestCustomConstructorWithNoInterfaceObject*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestCustomConstructorWithNoInterfaceObject&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestCustomConstructorWithNoInterfaceObject*);
</ins><span class="cx"> 
</span><span class="cx"> // Custom constructor
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL constructJSTestCustomConstructorWithNoInterfaceObject(JSC::ExecState*);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -247,6 +247,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore21TestCustomNamedGetterE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestCustomNamedGetter* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestCustomNamedGetter&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestCustomNamedGetter* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -87,6 +87,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestCustomNamedGetter*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestCustomNamedGetter&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestCustomNamedGetter*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -266,6 +266,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore20TestEventConstructorE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestEventConstructor* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestEventConstructor&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestEventConstructor* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -83,6 +83,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestEventConstructor*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestEventConstructor&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestEventConstructor*);
</ins><span class="cx"> 
</span><span class="cx"> bool fillTestEventConstructorInit(TestEventConstructorInit&amp;, JSDictionary&amp;);
</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 (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -340,6 +340,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore15TestEventTargetE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestEventTarget* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestEventTarget&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestEventTarget* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -91,6 +91,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestEventTarget*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestEventTarget&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestEventTarget*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -212,6 +212,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore13TestExceptionE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestException* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestException&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestException* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -85,6 +85,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestException*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestException&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestException*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -174,6 +174,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore23TestGenerateIsReachableE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestGenerateIsReachable* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestGenerateIsReachable&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestGenerateIsReachable* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -81,6 +81,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestGenerateIsReachable*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestGenerateIsReachable&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestGenerateIsReachable*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -955,6 +955,13 @@
</span><span class="cx">     uncacheWrapper(world, &amp;wrapper.impl(), &amp;wrapper);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestInterface* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestInterface&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestInterface* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -111,6 +111,7 @@
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestInterface*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestInterface&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestInterface*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -199,6 +199,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore26TestMediaQueryListListenerE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestMediaQueryListListener* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestMediaQueryListListener&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestMediaQueryListListener* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -81,6 +81,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestMediaQueryListListener*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestMediaQueryListListener&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestMediaQueryListListener*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -254,6 +254,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore20TestNamedConstructorE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestNamedConstructor* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestNamedConstructor&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestNamedConstructor* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -82,6 +82,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestNamedConstructor*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestNamedConstructor&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestNamedConstructor*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -505,6 +505,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore20TestNondeterministicE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestNondeterministic* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestNondeterministic&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestNondeterministic* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -81,6 +81,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestNondeterministic*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestNondeterministic&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestNondeterministic*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -4704,6 +4704,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore7TestObjE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestObj* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestObj&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestObj* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -97,6 +97,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestObj*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestObj&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestObj*);
</ins><span class="cx"> 
</span><span class="cx"> // Functions
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -268,6 +268,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore26TestOverloadedConstructorsE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestOverloadedConstructors* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestOverloadedConstructors&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestOverloadedConstructors* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -81,6 +81,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestOverloadedConstructors*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestOverloadedConstructors&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestOverloadedConstructors*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -243,6 +243,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore20TestOverrideBuiltinsE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestOverrideBuiltins* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestOverrideBuiltins&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestOverrideBuiltins* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -87,6 +87,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestOverrideBuiltins*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestOverrideBuiltins&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestOverrideBuiltins*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -333,6 +333,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore34TestSerializedScriptValueInterfaceE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestSerializedScriptValueInterface* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestSerializedScriptValueInterface&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestSerializedScriptValueInterface* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -87,6 +87,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestSerializedScriptValueInterface*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestSerializedScriptValueInterface&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestSerializedScriptValueInterface*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -742,6 +742,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore12TestTypedefsE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestTypedefs* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSTestTypedefs&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestTypedefs* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -84,6 +84,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestTypedefs*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestTypedefs&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, TestTypedefs*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -195,6 +195,14 @@
</span><span class="cx"> extern &quot;C&quot; { extern void* _ZTVN7WebCore9attributeE[]; }
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><ins>+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, attribute* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSattribute&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, attribute* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -82,6 +82,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, attribute*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, attribute&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, attribute*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -166,6 +166,13 @@
</span><span class="cx">     uncacheWrapper(world, &amp;wrapper.impl(), &amp;wrapper);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, readonly* impl)
+{
+    if (!impl)
+        return jsNull();
+    return createNewWrapper&lt;JSreadonly&gt;(globalObject, impl);
+}
+
</ins><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, readonly* impl)
</span><span class="cx"> {
</span><span class="cx">     if (!impl)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -81,6 +81,7 @@
</span><span class="cx"> 
</span><span class="cx"> JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, readonly*);
</span><span class="cx"> inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, readonly&amp; impl) { return toJS(exec, globalObject, &amp;impl); }
</span><ins>+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, readonly*);
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomAttridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Attr.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Attr.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/Attr.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -20,7 +20,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     JSCustomMarkFunction,
</span><del>-    JSGenerateToNativeObject
</del><ins>+    JSGenerateToNativeObject,
+    JSGenerateToJSObject
</ins><span class="cx"> ] interface Attr : Node {
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 1
</span></span></pre></div>
<a id="trunkSourceWebCoredomCDATASectionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CDATASection.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CDATASection.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/CDATASection.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -17,6 +17,8 @@
</span><span class="cx">  * Boston, MA 02110-1301, USA.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-interface CDATASection : Text {
</del><ins>+[
+    JSGenerateToJSObject
+] interface CDATASection : Text {
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomCommentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Comment.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Comment.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/Comment.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -19,7 +19,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Constructor([Default=NullString] optional DOMString data),
</span><del>-    ConstructorCallWith=Document
</del><ins>+    ConstructorCallWith=Document,
+    JSGenerateToJSObject
</ins><span class="cx"> ] interface Comment : CharacterData {
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDOMImplementationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DOMImplementation.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DOMImplementation.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/DOMImplementation.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -30,10 +30,10 @@
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 2
</span><span class="cx"> 
</span><del>-    [ObjCLegacyUnnamedParameters, RaisesException] DocumentType createDocumentType([TreatNullAs=NullString, TreatUndefinedAs=NullString, Default=Undefined] optional DOMString qualifiedName,
</del><ins>+    [ObjCLegacyUnnamedParameters, RaisesException, NewObject] DocumentType createDocumentType([TreatNullAs=NullString, TreatUndefinedAs=NullString, Default=Undefined] optional DOMString qualifiedName,
</ins><span class="cx">                                                    [TreatNullAs=NullString, TreatUndefinedAs=NullString, Default=Undefined] optional DOMString publicId,
</span><span class="cx">                                                    [TreatNullAs=NullString, TreatUndefinedAs=NullString, Default=Undefined] optional DOMString systemId);
</span><del>-    [ObjCLegacyUnnamedParameters, RaisesException] Document createDocument([TreatNullAs=NullString, Default=Undefined] optional DOMString namespaceURI, 
</del><ins>+    [ObjCLegacyUnnamedParameters, RaisesException, NewObject] Document createDocument([TreatNullAs=NullString, Default=Undefined] optional DOMString namespaceURI,
</ins><span class="cx">                                            [TreatNullAs=NullString, Default=Undefined] optional DOMString qualifiedName, 
</span><span class="cx">                                            [TreatNullAs=NullString, Default=Undefined] optional DocumentType doctype);
</span><span class="cx"> 
</span><span class="lines">@@ -44,6 +44,6 @@
</span><span class="cx"> 
</span><span class="cx">     // HTMLDOMImplementation interface from DOM Level 2 HTML
</span><span class="cx"> 
</span><del>-    HTMLDocument createHTMLDocument([Default=NullString] optional DOMString title);
</del><ins>+    [NewObject] HTMLDocument createHTMLDocument([Default=NullString] optional DOMString title);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/Document.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -31,15 +31,15 @@
</span><span class="cx">     readonly attribute DOMImplementation implementation;
</span><span class="cx">     readonly attribute Element documentElement;
</span><span class="cx"> 
</span><del>-    [ReturnNewObject, RaisesException] Element createElement(DOMString tagName);
-    DocumentFragment   createDocumentFragment();
-    [ReturnNewObject] Text createTextNode([Default=Undefined] optional DOMString data);
-    [ReturnNewObject] Comment createComment([Default=Undefined] optional DOMString data);
-    [ReturnNewObject, RaisesException] CDATASection createCDATASection([Default=Undefined] optional DOMString data);
-    [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] ProcessingInstruction createProcessingInstruction([Default=Undefined] optional DOMString target,
</del><ins>+    [NewObject, RaisesException] Element createElement(DOMString tagName);
+    [NewObject] DocumentFragment   createDocumentFragment();
+    [NewObject] Text createTextNode([Default=Undefined] optional DOMString data);
+    [NewObject] Comment createComment([Default=Undefined] optional DOMString data);
+    [NewObject, RaisesException] CDATASection createCDATASection([Default=Undefined] optional DOMString data);
+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] ProcessingInstruction createProcessingInstruction([Default=Undefined] optional DOMString target,
</ins><span class="cx">                                                                                  [Default=Undefined] optional DOMString data);
</span><del>-    [ReturnNewObject, RaisesException] Attr createAttribute([Default=Undefined] optional DOMString name);
-    [ReturnNewObject, RaisesException] EntityReference createEntityReference([Default=Undefined] optional DOMString name);
</del><ins>+    [NewObject, RaisesException] Attr createAttribute([Default=Undefined] optional DOMString name);
+    [NewObject, RaisesException] EntityReference createEntityReference([Default=Undefined] optional DOMString name);
</ins><span class="cx"> 
</span><span class="cx"> #if defined(LANGUAGE_OBJECTIVE_C) &amp;&amp; LANGUAGE_OBJECTIVE_C
</span><span class="cx">     [ImplementedAs=getElementsByTagNameForObjC] NodeList getElementsByTagName([Default=Undefined] optional DOMString tagname);
</span><span class="lines">@@ -49,11 +49,11 @@
</span><span class="cx"> 
</span><span class="cx">     // Introduced in DOM Level 2:
</span><span class="cx"> 
</span><del>-    [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Node importNode([Default=Undefined] optional Node importedNode,
</del><ins>+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] Node importNode([Default=Undefined] optional Node importedNode,
</ins><span class="cx">                     optional boolean deep);
</span><del>-    [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Element createElementNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
</del><ins>+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] Element createElementNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
</ins><span class="cx">                             [TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
</span><del>-    [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Attr createAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
</del><ins>+    [ObjCLegacyUnnamedParameters, NewObject, RaisesException] Attr createAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
</ins><span class="cx">                                                                           [TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
</span><span class="cx"> 
</span><span class="cx"> #if defined(LANGUAGE_OBJECTIVE_C) &amp;&amp; LANGUAGE_OBJECTIVE_C
</span><span class="lines">@@ -84,19 +84,19 @@
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 2 Events (DocumentEvents interface)
</span><span class="cx"> 
</span><del>-    [RaisesException] Event              createEvent([Default=Undefined] optional DOMString eventType);
</del><ins>+    [RaisesException, NewObject] Event              createEvent([Default=Undefined] optional DOMString eventType);
</ins><span class="cx"> 
</span><span class="cx">     // DOM Level 2 Tranversal and Range (DocumentRange interface)
</span><span class="cx"> 
</span><del>-    Range              createRange();
</del><ins>+    [NewObject] Range              createRange();
</ins><span class="cx"> 
</span><span class="cx">     // DOM Level 2 Tranversal and Range (DocumentTraversal interface)
</span><span class="cx"> 
</span><del>-    [ObjCLegacyUnnamedParameters, RaisesException] NodeIterator createNodeIterator(Node root,
</del><ins>+    [ObjCLegacyUnnamedParameters, RaisesException, NewObject] NodeIterator createNodeIterator(Node root,
</ins><span class="cx">         optional unsigned long whatToShow,
</span><span class="cx">         optional NodeFilter? filter,
</span><span class="cx">         optional boolean expandEntityReferences);
</span><del>-    [ObjCLegacyUnnamedParameters, RaisesException] TreeWalker createTreeWalker(Node root,
</del><ins>+    [ObjCLegacyUnnamedParameters, RaisesException, NewObject] TreeWalker createTreeWalker(Node root,
</ins><span class="cx">         optional unsigned long whatToShow,
</span><span class="cx">         optional NodeFilter? filter,
</span><span class="cx">         optional boolean expandEntityReferences);
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx"> #if defined(ENABLE_IOS_TOUCH_EVENTS) &amp;&amp; ENABLE_IOS_TOUCH_EVENTS
</span><span class="cx"> #include &lt;WebKitAdditions/DocumentIOS.idl&gt;
</span><span class="cx"> #elif defined(ENABLE_TOUCH_EVENTS) &amp;&amp; ENABLE_TOUCH_EVENTS
</span><del>-    [ReturnNewObject, RaisesException] Touch createTouch([Default=Undefined] optional DOMWindow window,
</del><ins>+    [NewObject, RaisesException] Touch createTouch([Default=Undefined] optional DOMWindow window,
</ins><span class="cx">                                                      [Default=Undefined] optional EventTarget target,
</span><span class="cx">                                                      [Default=Undefined] optional long identifier,
</span><span class="cx">                                                      [Default=Undefined] optional long pageX,
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">                                                      [Default=Undefined] optional long webkitRadiusY,
</span><span class="cx">                                                      [Default=Undefined] optional unrestricted float webkitRotationAngle,
</span><span class="cx">                                                      [Default=Undefined] optional unrestricted float webkitForce);
</span><del>-    [ReturnNewObject, Custom, RaisesException] TouchList createTouchList();
</del><ins>+    [NewObject, Custom, RaisesException] TouchList createTouchList();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // Page visibility API.
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentFragmentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentFragment.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentFragment.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/DocumentFragment.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -19,7 +19,8 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Constructor,
</span><del>-    ConstructorCallWith=Document
</del><ins>+    ConstructorCallWith=Document,
+    JSGenerateToJSObject
</ins><span class="cx"> ] interface DocumentFragment : Node {
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentTypeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentType.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentType.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/DocumentType.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -19,6 +19,7 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     JSGenerateToNativeObject,
</span><ins>+    JSGenerateToJSObject
</ins><span class="cx"> ] interface DocumentType : Node {
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 1
</span></span></pre></div>
<a id="trunkSourceWebCoredomEntityReferenceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EntityReference.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EntityReference.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/EntityReference.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -17,6 +17,8 @@
</span><span class="cx">  * Boston, MA 02110-1301, USA.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-interface EntityReference : Node {
</del><ins>+[
+    JSGenerateToJSObject
+] interface EntityReference : Node {
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/Node.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     [Custom, RaisesException] Node appendChild([CustomReturn] Node newChild);
</span><span class="cx"> 
</span><span class="cx">     boolean            hasChildNodes();
</span><del>-    Node               cloneNode([Default=Undefined] optional boolean deep);
</del><ins>+    [NewObject] Node cloneNode([Default=Undefined] optional boolean deep);
</ins><span class="cx">     void               normalize();
</span><span class="cx"> 
</span><span class="cx">     // Introduced in DOM Level 2:
</span></span></pre></div>
<a id="trunkSourceWebCoredomParentNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ParentNode.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ParentNode.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/ParentNode.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -41,5 +41,5 @@
</span><span class="cx">     // [Unscopeable] Element? query(DOMString relativeSelectors);
</span><span class="cx">     // [NewObject, Unscopeable] Elements queryAll(DOMString relativeSelectors);
</span><span class="cx">     [RaisesException] Element querySelector(DOMString selectors);
</span><del>-    [RaisesException] NodeList querySelectorAll(DOMString selectors);
</del><ins>+    [RaisesException, NewObject] NodeList querySelectorAll(DOMString selectors);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomProcessingInstructionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ProcessingInstruction.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ProcessingInstruction.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/ProcessingInstruction.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -19,7 +19,9 @@
</span><span class="cx">  * Boston, MA 02110-1301, USA.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-interface ProcessingInstruction : CharacterData {
</del><ins>+[
+    JSGenerateToJSObject
+] interface ProcessingInstruction : CharacterData {
</ins><span class="cx"> 
</span><span class="cx">     // DOM Level 1
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.idl (189880 => 189881)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.idl        2015-09-16 21:04:43 UTC (rev 189880)
+++ trunk/Source/WebCore/dom/Range.idl        2015-09-16 23:01:09 UTC (rev 189881)
</span><span class="lines">@@ -53,11 +53,11 @@
</span><span class="cx">     [ObjCLegacyUnnamedParameters, RaisesException, ImplementedAs=compareBoundaryPointsForBindings] short compareBoundaryPoints([Default=Undefined] optional unsigned short how, Range sourceRange);
</span><span class="cx"> 
</span><span class="cx">     [RaisesException] void deleteContents();
</span><del>-    [RaisesException] DocumentFragment extractContents();
-    [RaisesException] DocumentFragment cloneContents();
</del><ins>+    [RaisesException, NewObject] DocumentFragment extractContents();
+    [RaisesException, NewObject] DocumentFragment cloneContents();
</ins><span class="cx">     [RaisesException] void insertNode(Node newNode);
</span><span class="cx">     [RaisesException] void surroundContents(Node newParent);
</span><del>-    Range cloneRange();
</del><ins>+    [NewObject] Range cloneRange();
</ins><span class="cx">     DOMString toString();
</span><span class="cx"> 
</span><span class="cx">     void detach();
</span></span></pre>
</div>
</div>

</body>
</html>