<!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>[201253] trunk/Source</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/201253">201253</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-05-22 10:27:18 -0700 (Sun, 22 May 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove uses of PassRefPtr in JS bindings code
https://bugs.webkit.org/show_bug.cgi?id=157949

Reviewed by Andreas Kling.

Remove uses of PassRefPtr in JS bindings code.

Source/JavaScriptCore:

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::queueMicrotask):
* runtime/JSGlobalObject.h:

Source/WebCore:

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMGlobalObjectTask.cpp:
(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
* bindings/js/JSDOMGlobalObjectTask.h:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowMicrotaskCallback::create):
(WebCore::JSDOMWindowMicrotaskCallback::call):
(WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::create):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
* bindings/js/JSWorkerGlobalScopeBase.h:
* bindings/objc/DOMCustomXPathNSResolver.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GetNativeTypeForCallbacks):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallback.h:
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):
* bindings/scripts/test/JS/JSTestCallbackFunction.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp">trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjecth">trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingcpp">trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingh">trunk/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp">trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjecth">trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectTaskcpp">trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectTaskh">trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowBasecpp">trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowBaseh">trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowShellcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowShellh">trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWorkerGlobalScopeBasecpp">trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWorkerGlobalScopeBaseh">trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h</a></li>
<li><a href="#trunkSourceWebCorebindingsobjcDOMCustomXPathNSResolverh">trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackFunctioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackFunctionh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2016-05-22  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Remove uses of PassRefPtr in JS bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=157949
+
+        Reviewed by Andreas Kling.
+
+        Remove uses of PassRefPtr in JS bindings code.
+
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::queueMicrotask):
+        * runtime/JSGlobalObject.h:
+
</ins><span class="cx"> 2016-05-20  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove LegacyProfiler
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -1356,14 +1356,14 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // ENABLE(INTL)
</span><span class="cx"> 
</span><del>-void JSGlobalObject::queueMicrotask(PassRefPtr&lt;Microtask&gt; task)
</del><ins>+void JSGlobalObject::queueMicrotask(Ref&lt;Microtask&gt;&amp;&amp; task)
</ins><span class="cx"> {
</span><span class="cx">     if (globalObjectMethodTable()-&gt;queueTaskToEventLoop) {
</span><del>-        globalObjectMethodTable()-&gt;queueTaskToEventLoop(this, task);
</del><ins>+        globalObjectMethodTable()-&gt;queueTaskToEventLoop(this, WTFMove(task));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    vm().queueMicrotask(this, task);
</del><ins>+    vm().queueMicrotask(this, WTFMove(task));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool JSGlobalObject::hasDebugger() const
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx">     typedef RuntimeFlags (*JavaScriptRuntimeFlagsFunctionPtr)(const JSGlobalObject*);
</span><span class="cx">     JavaScriptRuntimeFlagsFunctionPtr javaScriptRuntimeFlags;
</span><span class="cx"> 
</span><del>-    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr&lt;Microtask&gt;);
</del><ins>+    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, Ref&lt;Microtask&gt;&amp;&amp;);
</ins><span class="cx">     QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop;
</span><span class="cx"> 
</span><span class="cx">     typedef bool (*ShouldInterruptScriptBeforeTimeoutPtr)(const JSGlobalObject*);
</span><span class="lines">@@ -721,7 +721,7 @@
</span><span class="cx">     static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; }
</span><span class="cx">     static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags(); }
</span><span class="cx"> 
</span><del>-    void queueMicrotask(PassRefPtr&lt;Microtask&gt;);
</del><ins>+    void queueMicrotask(Ref&lt;Microtask&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool evalEnabled() const { return m_evalEnabled; }
</span><span class="cx">     const String&amp; evalDisabledErrorMessage() const { return m_evalDisabledErrorMessage; }
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/ChangeLog        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -1,3 +1,49 @@
</span><ins>+2016-05-22  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Remove uses of PassRefPtr in JS bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=157949
+
+        Reviewed by Andreas Kling.
+
+        Remove uses of PassRefPtr in JS bindings code.
+
+        * bindings/js/JSDOMBinding.cpp:
+        (WebCore::jsArray):
+        * bindings/js/JSDOMBinding.h:
+        * bindings/js/JSDOMGlobalObject.cpp:
+        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
+        * bindings/js/JSDOMGlobalObject.h:
+        * bindings/js/JSDOMGlobalObjectTask.cpp:
+        (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
+        * bindings/js/JSDOMGlobalObjectTask.h:
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
+        (WebCore::JSDOMWindowMicrotaskCallback::create):
+        (WebCore::JSDOMWindowMicrotaskCallback::call):
+        (WebCore::JSDOMWindowMicrotaskCallback::JSDOMWindowMicrotaskCallback):
+        (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
+        * bindings/js/JSDOMWindowBase.h:
+        * bindings/js/JSDOMWindowShell.cpp:
+        (WebCore::JSDOMWindowShell::finishCreation):
+        (WebCore::JSDOMWindowShell::setWindow):
+        * bindings/js/JSDOMWindowShell.h:
+        (WebCore::JSDOMWindowShell::create):
+        * bindings/js/JSWorkerGlobalScopeBase.cpp:
+        (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
+        (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
+        * bindings/js/JSWorkerGlobalScopeBase.h:
+        * bindings/objc/DOMCustomXPathNSResolver.h:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GetNativeTypeForCallbacks):
+        * bindings/scripts/test/JS/JSTestCallback.cpp:
+        (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
+        (WebCore::JSTestCallback::callbackWithStringList):
+        * bindings/scripts/test/JS/JSTestCallback.h:
+        * bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
+        (WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
+        (WebCore::JSTestCallbackFunction::callbackWithStringList):
+        * bindings/scripts/test/JS/JSTestCallbackFunction.h:
+
</ins><span class="cx"> 2016-05-20  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fixed USE(APPLE_INTERNAL_SDK) builds.
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx">     return static_cast&lt;DateInstance*&gt;(value.toObject(exec))-&gt;internalNumber();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-JSC::JSValue jsArray(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr&lt;DOMStringList&gt; stringList)
</del><ins>+JSC::JSValue jsArray(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMStringList* stringList)
</ins><span class="cx"> {
</span><span class="cx">     JSC::MarkedArgumentBuffer list;
</span><span class="cx">     if (stringList) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename T, size_t inlineCapacity&gt; JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, const Vector&lt;T, inlineCapacity&gt;&amp;);
</span><span class="cx"> template&lt;typename T, size_t inlineCapacity&gt; JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, const Vector&lt;T, inlineCapacity&gt;*);
</span><del>-WEBCORE_EXPORT JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr&lt;DOMStringList&gt;);
</del><ins>+WEBCORE_EXPORT JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, DOMStringList*);
</ins><span class="cx"> 
</span><span class="cx"> JSC::JSValue jsPair(JSC::ExecState&amp;, JSDOMGlobalObject*, JSC::JSValue, JSC::JSValue);
</span><span class="cx"> template&lt;typename FirstType, typename SecondType&gt; JSC::JSValue jsPair(JSC::ExecState&amp;, JSDOMGlobalObject*, const FirstType&amp;, const SecondType&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -46,14 +46,13 @@
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo JSDOMGlobalObject::s_info = { &quot;DOMGlobalObject&quot;, &amp;JSGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMGlobalObject) };
</span><span class="cx"> 
</span><del>-JSDOMGlobalObject::JSDOMGlobalObject(VM&amp; vm, Structure* structure, PassRefPtr&lt;DOMWrapperWorld&gt; world, const GlobalObjectMethodTable* globalObjectMethodTable)
</del><ins>+JSDOMGlobalObject::JSDOMGlobalObject(VM&amp; vm, Structure* structure, Ref&lt;DOMWrapperWorld&gt;&amp;&amp; world, const GlobalObjectMethodTable* globalObjectMethodTable)
</ins><span class="cx">     : JSGlobalObject(vm, structure, globalObjectMethodTable)
</span><span class="cx">     , m_currentEvent(0)
</span><del>-    , m_world(world)
</del><ins>+    , m_world(WTFMove(world))
</ins><span class="cx">     , m_worldIsNormal(m_world-&gt;isNormal())
</span><span class="cx">     , m_builtinInternalFunctions(vm)
</span><span class="cx"> {
</span><del>-    ASSERT(m_world);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSDOMGlobalObject::destroy(JSCell* cell)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     protected:
</span><span class="cx">         struct JSDOMGlobalObjectData;
</span><span class="cx"> 
</span><del>-        JSDOMGlobalObject(JSC::VM&amp;, JSC::Structure*, PassRefPtr&lt;DOMWrapperWorld&gt;, const JSC::GlobalObjectMethodTable* = 0);
</del><ins>+        JSDOMGlobalObject(JSC::VM&amp;, JSC::Structure*, Ref&lt;DOMWrapperWorld&gt;&amp;&amp;, const JSC::GlobalObjectMethodTable* = 0);
</ins><span class="cx">         static void destroy(JSC::JSCell*);
</span><span class="cx">         void finishCreation(JSC::VM&amp;);
</span><span class="cx">         void finishCreation(JSC::VM&amp;, JSC::JSObject*);
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">         static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&amp;);
</span><span class="cx"> 
</span><del>-        DOMWrapperWorld&amp; world() { return *m_world; }
</del><ins>+        DOMWrapperWorld&amp; world() { return m_world.get(); }
</ins><span class="cx">         bool worldIsNormal() const { return m_worldIsNormal; }
</span><span class="cx"> 
</span><span class="cx">         JSBuiltinInternalFunctions&amp; builtinInternalFunctions() { return m_builtinInternalFunctions; }
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">         JSDOMConstructorMap m_constructors;
</span><span class="cx"> 
</span><span class="cx">         Event* m_currentEvent;
</span><del>-        const RefPtr&lt;DOMWrapperWorld&gt; m_world;
</del><ins>+        Ref&lt;DOMWrapperWorld&gt; m_world;
</ins><span class="cx">         bool m_worldIsNormal;
</span><span class="cx"> 
</span><span class="cx">     private:
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectTaskcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -38,9 +38,9 @@
</span><span class="cx"> 
</span><span class="cx"> class JSGlobalObjectCallback final : public RefCounted&lt;JSGlobalObjectCallback&gt;, private ActiveDOMCallback {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;JSGlobalObjectCallback&gt; create(JSDOMGlobalObject* globalObject, PassRefPtr&lt;Microtask&gt; task)
</del><ins>+    static Ref&lt;JSGlobalObjectCallback&gt; create(JSDOMGlobalObject* globalObject, Ref&lt;Microtask&gt;&amp;&amp; task)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new JSGlobalObjectCallback(globalObject, task));
</del><ins>+        return adoptRef(*new JSGlobalObjectCallback(globalObject, WTFMove(task)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void call()
</span><span class="lines">@@ -61,28 +61,28 @@
</span><span class="cx">         // When on the main thread (e.g. the document's thread), we need to make sure to
</span><span class="cx">         // push the current ExecState on to the JSMainThreadExecState stack.
</span><span class="cx">         if (context-&gt;isDocument())
</span><del>-            JSMainThreadExecState::runTask(exec, *m_task.get());
</del><ins>+            JSMainThreadExecState::runTask(exec, m_task);
</ins><span class="cx">         else
</span><span class="cx">             m_task-&gt;run(exec);
</span><span class="cx">         ASSERT(!exec-&gt;hadException());
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    JSGlobalObjectCallback(JSDOMGlobalObject* globalObject, PassRefPtr&lt;Microtask&gt; task)
</del><ins>+    JSGlobalObjectCallback(JSDOMGlobalObject* globalObject, Ref&lt;Microtask&gt;&amp;&amp; task)
</ins><span class="cx">         : ActiveDOMCallback(globalObject-&gt;scriptExecutionContext())
</span><span class="cx">         , m_globalObject(globalObject-&gt;vm(), globalObject)
</span><del>-        , m_task(task)
</del><ins>+        , m_task(WTFMove(task))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Strong&lt;JSDOMGlobalObject&gt; m_globalObject;
</span><del>-    RefPtr&lt;Microtask&gt; m_task;
</del><ins>+    Ref&lt;Microtask&gt; m_task;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-JSGlobalObjectTask::JSGlobalObjectTask(JSDOMGlobalObject* globalObject, PassRefPtr&lt;Microtask&gt; task)
</del><ins>+JSGlobalObjectTask::JSGlobalObjectTask(JSDOMGlobalObject* globalObject, Ref&lt;Microtask&gt;&amp;&amp; task)
</ins><span class="cx">     : ScriptExecutionContext::Task(nullptr)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;JSGlobalObjectCallback&gt; callback = JSGlobalObjectCallback::create(globalObject, task);
</del><ins>+    RefPtr&lt;JSGlobalObjectCallback&gt; callback = JSGlobalObjectCallback::create(globalObject, WTFMove(task));
</ins><span class="cx">     m_task = [callback] (ScriptExecutionContext&amp;) {
</span><span class="cx">         callback-&gt;call();
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectTaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSGlobalObjectTask : public ScriptExecutionContext::Task {
</span><span class="cx"> public:
</span><del>-    JSGlobalObjectTask(JSDOMGlobalObject*, PassRefPtr&lt;JSC::Microtask&gt;);
</del><ins>+    JSGlobalObjectTask(JSDOMGlobalObject*, Ref&lt;JSC::Microtask&gt;&amp;&amp;);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -66,10 +66,10 @@
</span><span class="cx"> 
</span><span class="cx"> const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &amp;shouldAllowAccessFrom, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptRuntimeFlags, &amp;queueTaskToEventLoop, &amp;shouldInterruptScriptBeforeTimeout, &amp;moduleLoaderResolve, &amp;moduleLoaderFetch, nullptr, nullptr, &amp;moduleLoaderEvaluate, &amp;defaultLanguage };
</span><span class="cx"> 
</span><del>-JSDOMWindowBase::JSDOMWindowBase(VM&amp; vm, Structure* structure, PassRefPtr&lt;DOMWindow&gt; window, JSDOMWindowShell* shell)
-    : JSDOMGlobalObject(vm, structure, &amp;shell-&gt;world(), &amp;s_globalObjectMethodTable)
</del><ins>+JSDOMWindowBase::JSDOMWindowBase(VM&amp; vm, Structure* structure, RefPtr&lt;DOMWindow&gt;&amp;&amp; window, JSDOMWindowShell* shell)
+    : JSDOMGlobalObject(vm, structure, shell-&gt;world(), &amp;s_globalObjectMethodTable)
</ins><span class="cx">     , m_windowCloseWatchpoints((window &amp;&amp; window-&gt;frame()) ? IsWatched : IsInvalidated)
</span><del>-    , m_wrapped(window)
</del><ins>+    , m_wrapped(WTFMove(window))
</ins><span class="cx">     , m_shell(shell)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -189,9 +189,9 @@
</span><span class="cx"> 
</span><span class="cx"> class JSDOMWindowMicrotaskCallback : public RefCounted&lt;JSDOMWindowMicrotaskCallback&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;JSDOMWindowMicrotaskCallback&gt; create(JSDOMWindowBase* globalObject, PassRefPtr&lt;JSC::Microtask&gt; task)
</del><ins>+    static Ref&lt;JSDOMWindowMicrotaskCallback&gt; create(JSDOMWindowBase* globalObject, Ref&lt;JSC::Microtask&gt;&amp;&amp; task)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new JSDOMWindowMicrotaskCallback(globalObject, task));
</del><ins>+        return adoptRef(*new JSDOMWindowMicrotaskCallback(globalObject, WTFMove(task)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void call()
</span><span class="lines">@@ -201,27 +201,27 @@
</span><span class="cx"> 
</span><span class="cx">         ExecState* exec = m_globalObject-&gt;globalExec();
</span><span class="cx"> 
</span><del>-        JSMainThreadExecState::runTask(exec, *m_task.get());
</del><ins>+        JSMainThreadExecState::runTask(exec, m_task);
</ins><span class="cx"> 
</span><span class="cx">         ASSERT(!exec-&gt;hadException());
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    JSDOMWindowMicrotaskCallback(JSDOMWindowBase* globalObject, PassRefPtr&lt;JSC::Microtask&gt; task)
</del><ins>+    JSDOMWindowMicrotaskCallback(JSDOMWindowBase* globalObject, Ref&lt;JSC::Microtask&gt;&amp;&amp; task)
</ins><span class="cx">         : m_globalObject(globalObject-&gt;vm(), globalObject)
</span><del>-        , m_task(task)
</del><ins>+        , m_task(WTFMove(task))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Strong&lt;JSDOMWindowBase&gt; m_globalObject;
</span><del>-    RefPtr&lt;JSC::Microtask&gt; m_task;
</del><ins>+    Ref&lt;JSC::Microtask&gt; m_task;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr&lt;JSC::Microtask&gt; task)
</del><ins>+void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, Ref&lt;JSC::Microtask&gt;&amp;&amp; task)
</ins><span class="cx"> {
</span><span class="cx">     const JSDOMWindowBase* thisObject = static_cast&lt;const JSDOMWindowBase*&gt;(object);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;JSDOMWindowMicrotaskCallback&gt; callback = JSDOMWindowMicrotaskCallback::create((JSDOMWindowBase*)thisObject, task);
</del><ins>+    RefPtr&lt;JSDOMWindowMicrotaskCallback&gt; callback = JSDOMWindowMicrotaskCallback::create((JSDOMWindowBase*)thisObject, WTFMove(task));
</ins><span class="cx">     auto microtask = std::make_unique&lt;ActiveDOMCallbackMicrotask&gt;(MicrotaskQueue::mainThreadQueue(), *thisObject-&gt;scriptExecutionContext(), [callback]() mutable {
</span><span class="cx">         callback-&gt;call();
</span><span class="cx">     });
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     class WEBCORE_EXPORT JSDOMWindowBase : public JSDOMGlobalObject {
</span><span class="cx">         typedef JSDOMGlobalObject Base;
</span><span class="cx">     protected:
</span><del>-        JSDOMWindowBase(JSC::VM&amp;, JSC::Structure*, PassRefPtr&lt;DOMWindow&gt;, JSDOMWindowShell*);
</del><ins>+        JSDOMWindowBase(JSC::VM&amp;, JSC::Structure*, RefPtr&lt;DOMWindow&gt;&amp;&amp;, JSDOMWindowShell*);
</ins><span class="cx">         void finishCreation(JSC::VM&amp;, JSDOMWindowShell*);
</span><span class="cx"> 
</span><span class="cx">         static void destroy(JSCell*);
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">         static bool shouldInterruptScript(const JSC::JSGlobalObject*);
</span><span class="cx">         static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
</span><span class="cx">         static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
</span><del>-        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr&lt;JSC::Microtask&gt;);
</del><ins>+        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, Ref&lt;JSC::Microtask&gt;&amp;&amp;);
</ins><span class="cx">         
</span><span class="cx">         void printErrorMessage(const String&amp;) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowShellcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -49,11 +49,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSDOMWindowShell::finishCreation(VM&amp; vm, PassRefPtr&lt;DOMWindow&gt; window)
</del><ins>+void JSDOMWindowShell::finishCreation(VM&amp; vm, RefPtr&lt;DOMWindow&gt;&amp;&amp; window)
</ins><span class="cx"> {
</span><span class="cx">     Base::finishCreation(vm);
</span><span class="cx">     ASSERT(inherits(info()));
</span><del>-    setWindow(window);
</del><ins>+    setWindow(WTFMove(window));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSDOMWindowShell::destroy(JSCell* cell)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     GCController::singleton().garbageCollectSoon();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSDOMWindowShell::setWindow(PassRefPtr&lt;DOMWindow&gt; domWindow)
</del><ins>+void JSDOMWindowShell::setWindow(RefPtr&lt;DOMWindow&gt;&amp;&amp; domWindow)
</ins><span class="cx"> {
</span><span class="cx">     // Replacing JSDOMWindow via telling JSDOMWindowShell to use the same DOMWindow it already uses makes no sense,
</span><span class="cx">     // so we'd better never try to.
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowShellh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -44,16 +44,16 @@
</span><span class="cx"> 
</span><span class="cx">         JSDOMWindow* window() const { return JSC::jsCast&lt;JSDOMWindow*&gt;(target()); }
</span><span class="cx">         void setWindow(JSC::VM&amp;, JSDOMWindow*);
</span><del>-        void setWindow(PassRefPtr&lt;DOMWindow&gt;);
</del><ins>+        void setWindow(RefPtr&lt;DOMWindow&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">         DECLARE_INFO;
</span><span class="cx"> 
</span><span class="cx">         DOMWindow&amp; wrapped() const;
</span><span class="cx"> 
</span><del>-        static JSDOMWindowShell* create(JSC::VM&amp; vm, PassRefPtr&lt;DOMWindow&gt; window, JSC::Structure* structure, DOMWrapperWorld&amp; world)
</del><ins>+        static JSDOMWindowShell* create(JSC::VM&amp; vm, RefPtr&lt;DOMWindow&gt;&amp;&amp; window, JSC::Structure* structure, DOMWrapperWorld&amp; world)
</ins><span class="cx">         {
</span><span class="cx">             JSDOMWindowShell* shell = new (NotNull, JSC::allocateCell&lt;JSDOMWindowShell&gt;(vm.heap)) JSDOMWindowShell(vm, structure, world);
</span><del>-            shell-&gt;finishCreation(vm, window);
</del><ins>+            shell-&gt;finishCreation(vm, WTFMove(window));
</ins><span class="cx">             return shell; 
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">     protected:
</span><span class="cx">         JSDOMWindowShell(JSC::VM&amp;, JSC::Structure*, DOMWrapperWorld&amp;);
</span><del>-        void finishCreation(JSC::VM&amp;, PassRefPtr&lt;DOMWindow&gt;);
</del><ins>+        void finishCreation(JSC::VM&amp;, RefPtr&lt;DOMWindow&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">         Ref&lt;DOMWrapperWorld&gt; m_world;
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWorkerGlobalScopeBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -46,9 +46,9 @@
</span><span class="cx"> 
</span><span class="cx"> const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptRuntimeFlags, &amp;queueTaskToEventLoop, &amp;shouldInterruptScriptBeforeTimeout, nullptr, nullptr, nullptr, nullptr, nullptr, &amp;defaultLanguage };
</span><span class="cx"> 
</span><del>-JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM&amp; vm, JSC::Structure* structure, PassRefPtr&lt;WorkerGlobalScope&gt; impl)
-    : JSDOMGlobalObject(vm, structure, &amp;normalWorld(vm), &amp;s_globalObjectMethodTable)
-    , m_wrapped(impl)
</del><ins>+JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM&amp; vm, JSC::Structure* structure, RefPtr&lt;WorkerGlobalScope&gt;&amp;&amp; impl)
+    : JSDOMGlobalObject(vm, structure, normalWorld(vm), &amp;s_globalObjectMethodTable)
+    , m_wrapped(WTFMove(impl))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -93,10 +93,10 @@
</span><span class="cx">     return JSGlobalObject::javaScriptRuntimeFlags(object);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr&lt;JSC::Microtask&gt; task)
</del><ins>+void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, Ref&lt;JSC::Microtask&gt;&amp;&amp; task)
</ins><span class="cx"> {
</span><span class="cx">     const JSWorkerGlobalScopeBase* thisObject = static_cast&lt;const JSWorkerGlobalScopeBase*&gt;(object);
</span><del>-    thisObject-&gt;scriptExecutionContext()-&gt;postTask(JSGlobalObjectTask((JSDOMGlobalObject*)thisObject, task));
</del><ins>+    thisObject-&gt;scriptExecutionContext()-&gt;postTask(JSGlobalObjectTask((JSDOMGlobalObject*)thisObject, WTFMove(task)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSValue toJS(ExecState* exec, JSDOMGlobalObject*, WorkerGlobalScope&amp; workerGlobalScope)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWorkerGlobalScopeBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -57,10 +57,10 @@
</span><span class="cx">         static bool shouldInterruptScript(const JSC::JSGlobalObject*);
</span><span class="cx">         static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
</span><span class="cx">         static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
</span><del>-        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr&lt;JSC::Microtask&gt;);
</del><ins>+        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, Ref&lt;JSC::Microtask&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        JSWorkerGlobalScopeBase(JSC::VM&amp;, JSC::Structure*, PassRefPtr&lt;WorkerGlobalScope&gt;);
</del><ins>+        JSWorkerGlobalScopeBase(JSC::VM&amp;, JSC::Structure*, RefPtr&lt;WorkerGlobalScope&gt;&amp;&amp;);
</ins><span class="cx">         void finishCreation(JSC::VM&amp;);
</span><span class="cx"> 
</span><span class="cx">     private:
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsobjcDOMCustomXPathNSResolverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;XPathNSResolver.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DOMXPathNSResolver.h&quot;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><ins>+#include &lt;wtf/Ref.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -4307,8 +4307,8 @@
</span><span class="cx"> {
</span><span class="cx">     my ($interface, $type) = @_;
</span><span class="cx"> 
</span><del>-    return &quot;PassRefPtr&lt;SerializedScriptValue&gt;&quot; if $type eq &quot;SerializedScriptValue&quot;;
-    return &quot;PassRefPtr&lt;DOMStringList&gt;&quot; if $type eq &quot;DOMStringList&quot;;
</del><ins>+    return &quot;RefPtr&lt;SerializedScriptValue&gt;&amp;&amp;&quot; if $type eq &quot;SerializedScriptValue&quot;;
+    return &quot;RefPtr&lt;PassRefPtr&lt;DOMStringList&gt;&gt;&amp;&amp;&quot; if $type eq &quot;DOMStringList&quot;;
</ins><span class="cx">     return &quot;const String&amp;&quot; if $type eq &quot;DOMString&quot;;
</span><span class="cx">     return GetNativeType($interface, $type);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">     return !returnedException;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestCallback::callbackWithSerializedScriptValueParam(PassRefPtr&lt;SerializedScriptValue&gt; srzParam, const String&amp; strArg)
</del><ins>+bool JSTestCallback::callbackWithSerializedScriptValueParam(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; srzParam, const String&amp; strArg)
</ins><span class="cx"> {
</span><span class="cx">     if (!canInvokeCallback())
</span><span class="cx">         return true;
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">     return !returnedException;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestCallback::callbackWithStringList(PassRefPtr&lt;DOMStringList&gt; listParam)
</del><ins>+bool JSTestCallback::callbackWithStringList(RefPtr&lt;PassRefPtr&lt;DOMStringList&gt;&gt;&amp;&amp; listParam)
</ins><span class="cx"> {
</span><span class="cx">     if (!canInvokeCallback())
</span><span class="cx">         return true;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -45,10 +45,10 @@
</span><span class="cx">     // Functions
</span><span class="cx">     virtual bool callbackWithNoParam();
</span><span class="cx">     virtual bool callbackWithArrayParam(RefPtr&lt;Float32Array&gt; arrayParam);
</span><del>-    virtual bool callbackWithSerializedScriptValueParam(PassRefPtr&lt;SerializedScriptValue&gt; srzParam, const String&amp; strArg);
</del><ins>+    virtual bool callbackWithSerializedScriptValueParam(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; srzParam, const String&amp; strArg);
</ins><span class="cx">     virtual int32_t callbackWithNonBoolReturnType(const String&amp; strArg);
</span><span class="cx">     virtual int32_t customCallback(Class5* class5Param, Class6* class6Param);
</span><del>-    virtual bool callbackWithStringList(PassRefPtr&lt;DOMStringList&gt; listParam);
</del><ins>+    virtual bool callbackWithStringList(RefPtr&lt;PassRefPtr&lt;DOMStringList&gt;&gt;&amp;&amp; listParam);
</ins><span class="cx">     virtual bool callbackWithBoolean(bool boolParam);
</span><span class="cx">     virtual bool callbackRequiresThisToPass(int32_t longParam, TestNode* testNodeParam);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackFunctioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">     return !returnedException;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestCallbackFunction::callbackWithSerializedScriptValueParam(PassRefPtr&lt;SerializedScriptValue&gt; srzParam, const String&amp; strArg)
</del><ins>+bool JSTestCallbackFunction::callbackWithSerializedScriptValueParam(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; srzParam, const String&amp; strArg)
</ins><span class="cx"> {
</span><span class="cx">     if (!canInvokeCallback())
</span><span class="cx">         return true;
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     return !returnedException;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSTestCallbackFunction::callbackWithStringList(PassRefPtr&lt;DOMStringList&gt; listParam)
</del><ins>+bool JSTestCallbackFunction::callbackWithStringList(RefPtr&lt;PassRefPtr&lt;DOMStringList&gt;&gt;&amp;&amp; listParam)
</ins><span class="cx"> {
</span><span class="cx">     if (!canInvokeCallback())
</span><span class="cx">         return true;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackFunctionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h (201252 => 201253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h        2016-05-22 16:51:47 UTC (rev 201252)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h        2016-05-22 17:27:18 UTC (rev 201253)
</span><span class="lines">@@ -44,10 +44,10 @@
</span><span class="cx">     // Functions
</span><span class="cx">     virtual bool callbackWithNoParam();
</span><span class="cx">     virtual bool callbackWithArrayParam(RefPtr&lt;Float32Array&gt; arrayParam);
</span><del>-    virtual bool callbackWithSerializedScriptValueParam(PassRefPtr&lt;SerializedScriptValue&gt; srzParam, const String&amp; strArg);
</del><ins>+    virtual bool callbackWithSerializedScriptValueParam(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp; srzParam, const String&amp; strArg);
</ins><span class="cx">     virtual int32_t callbackWithNonBoolReturnType(const String&amp; strArg);
</span><span class="cx">     virtual int32_t customCallback(Class5* class5Param, Class6* class6Param);
</span><del>-    virtual bool callbackWithStringList(PassRefPtr&lt;DOMStringList&gt; listParam);
</del><ins>+    virtual bool callbackWithStringList(RefPtr&lt;PassRefPtr&lt;DOMStringList&gt;&gt;&amp;&amp; listParam);
</ins><span class="cx">     virtual bool callbackWithBoolean(bool boolParam);
</span><span class="cx">     virtual bool callbackRequiresThisToPass(int32_t longParam, TestNode* testNodeParam);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>