<!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>[163744] 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/163744">163744</a></dd>
<dt>Author</dt> <dd>zandobersek@gmail.com</dd>
<dt>Date</dt> <dd>2014-02-09 00:18:11 -0800 (Sun, 09 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128467

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
and MessagePortChannelArray objects.

* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):
* dom/MessageEvent.h:
(WebCore::MessageEvent::create):
* dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::entangle):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::disentanglePorts):
(WebCore::MessagePort::entanglePorts):
* dom/MessagePort.h:
* dom/MessagePortChannel.h:
* dom/default/PlatformMessagePortChannel.cpp:
(WebCore::PlatformMessagePortChannel::EventData::EventData):
(WebCore::MessagePortChannel::createChannel):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):
* dom/default/PlatformMessagePortChannel.h:
(WebCore::PlatformMessagePortChannel::EventData::channels):
* page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer):
(WebCore::PostMessageTimer::event):
(WebCore::DOMWindow::postMessage):
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::postMessage):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerConnectTask::create):
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::create):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::createConnectEvent):
* workers/SharedWorkerRepository.cpp:
(WebCore::SharedWorkerRepository::connect):
* workers/SharedWorkerRepository.h:
* workers/Worker.cpp:
(WebCore::Worker::postMessage):
* workers/WorkerGlobalScopeProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerGlobalScopeTask::create):
(WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::MessageWorkerTask::create):
(WebCore::MessageWorkerTask::MessageWorkerTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
* workers/WorkerMessagingProxy.h:
* workers/WorkerObjectProxy.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMessageEventCustomcpp">trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventcpp">trunk/Source/WebCore/dom/MessageEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventh">trunk/Source/WebCore/dom/MessageEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMessagePortcpp">trunk/Source/WebCore/dom/MessagePort.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMessagePorth">trunk/Source/WebCore/dom/MessagePort.h</a></li>
<li><a href="#trunkSourceWebCoredomMessagePortChannelh">trunk/Source/WebCore/dom/MessagePortChannel.h</a></li>
<li><a href="#trunkSourceWebCoredomdefaultPlatformMessagePortChannelcpp">trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoredomdefaultPlatformMessagePortChannelh">trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.h</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowcpp">trunk/Source/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersDedicatedWorkerGlobalScopecpp">trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersDefaultSharedWorkerRepositorycpp">trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersDefaultSharedWorkerRepositoryh">trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.h</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkercpp">trunk/Source/WebCore/workers/SharedWorker.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerGlobalScopecpp">trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerRepositorycpp">trunk/Source/WebCore/workers/SharedWorkerRepository.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerRepositoryh">trunk/Source/WebCore/workers/SharedWorkerRepository.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkercpp">trunk/Source/WebCore/workers/Worker.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerGlobalScopeProxyh">trunk/Source/WebCore/workers/WorkerGlobalScopeProxy.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerMessagingProxycpp">trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerMessagingProxyh">trunk/Source/WebCore/workers/WorkerMessagingProxy.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerObjectProxyh">trunk/Source/WebCore/workers/WorkerObjectProxy.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/ChangeLog        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -1,3 +1,73 @@
</span><ins>+2014-02-09  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=128467
+
+        Reviewed by Andreas Kling.
+
+        Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
+        and MessagePortChannelArray objects.
+
+        * bindings/js/JSMessageEventCustom.cpp:
+        (WebCore::handleInitMessageEvent):
+        * dom/MessageEvent.cpp:
+        (WebCore::MessageEvent::MessageEvent):
+        (WebCore::MessageEvent::initMessageEvent):
+        * dom/MessageEvent.h:
+        (WebCore::MessageEvent::create):
+        * dom/MessagePort.cpp:
+        (WebCore::MessagePort::postMessage):
+        (WebCore::MessagePort::disentangle):
+        (WebCore::MessagePort::entangle):
+        (WebCore::MessagePort::dispatchMessages):
+        (WebCore::MessagePort::disentanglePorts):
+        (WebCore::MessagePort::entanglePorts):
+        * dom/MessagePort.h:
+        * dom/MessagePortChannel.h:
+        * dom/default/PlatformMessagePortChannel.cpp:
+        (WebCore::PlatformMessagePortChannel::EventData::EventData):
+        (WebCore::MessagePortChannel::createChannel):
+        (WebCore::MessagePortChannel::postMessageToRemote):
+        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
+        * dom/default/PlatformMessagePortChannel.h:
+        (WebCore::PlatformMessagePortChannel::EventData::channels):
+        * page/DOMWindow.cpp:
+        (WebCore::PostMessageTimer::PostMessageTimer):
+        (WebCore::PostMessageTimer::event):
+        (WebCore::DOMWindow::postMessage):
+        * workers/DedicatedWorkerGlobalScope.cpp:
+        (WebCore::DedicatedWorkerGlobalScope::postMessage):
+        * workers/DefaultSharedWorkerRepository.cpp:
+        (WebCore::SharedWorkerConnectTask::create):
+        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
+        (WebCore::SharedWorkerConnectTask::performTask):
+        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
+        (WebCore::SharedWorkerScriptLoader::notifyFinished):
+        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
+        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
+        * workers/DefaultSharedWorkerRepository.h:
+        * workers/SharedWorker.cpp:
+        (WebCore::SharedWorker::create):
+        * workers/SharedWorkerGlobalScope.cpp:
+        (WebCore::createConnectEvent):
+        * workers/SharedWorkerRepository.cpp:
+        (WebCore::SharedWorkerRepository::connect):
+        * workers/SharedWorkerRepository.h:
+        * workers/Worker.cpp:
+        (WebCore::Worker::postMessage):
+        * workers/WorkerGlobalScopeProxy.h:
+        * workers/WorkerMessagingProxy.cpp:
+        (WebCore::MessageWorkerGlobalScopeTask::create):
+        (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
+        (WebCore::MessageWorkerGlobalScopeTask::performTask):
+        (WebCore::MessageWorkerTask::create):
+        (WebCore::MessageWorkerTask::MessageWorkerTask):
+        (WebCore::MessageWorkerTask::performTask):
+        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
+        (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
+        * workers/WorkerMessagingProxy.h:
+        * workers/WorkerObjectProxy.h:
+
</ins><span class="cx"> 2014-02-08  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Cleanup the interface of FrameSelection
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMessageEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/bindings/js/JSMessageEventCustom.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -96,10 +96,10 @@
</span><span class="cx">     const String originArg = exec-&gt;argument(4).toString(exec)-&gt;value(exec);
</span><span class="cx">     const String lastEventIdArg = exec-&gt;argument(5).toString(exec)-&gt;value(exec);
</span><span class="cx">     DOMWindow* sourceArg = toDOMWindow(exec-&gt;argument(6));
</span><del>-    OwnPtr&lt;MessagePortArray&gt; messagePorts;
</del><ins>+    std::unique_ptr&lt;MessagePortArray&gt; messagePorts;
</ins><span class="cx">     OwnPtr&lt;ArrayBufferArray&gt; arrayBuffers;
</span><span class="cx">     if (!exec-&gt;argument(7).isUndefinedOrNull()) {
</span><del>-        messagePorts = adoptPtr(new MessagePortArray);
</del><ins>+        messagePorts = std::make_unique&lt;MessagePortArray&gt;();
</ins><span class="cx">         arrayBuffers = adoptPtr(new ArrayBufferArray);
</span><span class="cx">         fillMessagePortArray(exec, exec-&gt;argument(7), *messagePorts, *arrayBuffers);
</span><span class="cx">         if (exec-&gt;hadException())
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">         return jsUndefined();
</span><span class="cx"> 
</span><span class="cx">     MessageEvent&amp; event = jsEvent-&gt;impl();
</span><del>-    event.initMessageEvent(typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, messagePorts.release());
</del><ins>+    event.initMessageEvent(typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, std::move(messagePorts));
</ins><span class="cx">     jsEvent-&gt;m_data.set(exec-&gt;vm(), jsEvent, dataArg.jsValue());
</span><span class="cx">     return jsUndefined();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/MessageEvent.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -51,30 +51,30 @@
</span><span class="cx">     , m_origin(initializer.origin)
</span><span class="cx">     , m_lastEventId(initializer.lastEventId)
</span><span class="cx">     , m_source(isValidSource(initializer.source.get()) ? initializer.source : 0)
</span><del>-    , m_ports(adoptPtr(new MessagePortArray(initializer.ports)))
</del><ins>+    , m_ports(std::make_unique&lt;MessagePortArray&gt;(initializer.ports))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, PassOwnPtr&lt;MessagePortArray&gt; ports)
</del><ins>+MessageEvent::MessageEvent(const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt; ports)
</ins><span class="cx">     : Event(eventNames().messageEvent, false, false)
</span><span class="cx">     , m_dataType(DataTypeScriptValue)
</span><span class="cx">     , m_dataAsScriptValue(data)
</span><span class="cx">     , m_origin(origin)
</span><span class="cx">     , m_lastEventId(lastEventId)
</span><span class="cx">     , m_source(source)
</span><del>-    , m_ports(ports)
</del><ins>+    , m_ports(std::move(ports))
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isValidSource(m_source.get()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MessageEvent::MessageEvent(PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, PassOwnPtr&lt;MessagePortArray&gt; ports)
</del><ins>+MessageEvent::MessageEvent(PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt; ports)
</ins><span class="cx">     : Event(eventNames().messageEvent, false, false)
</span><span class="cx">     , m_dataType(DataTypeSerializedScriptValue)
</span><span class="cx">     , m_dataAsSerializedScriptValue(data)
</span><span class="cx">     , m_origin(origin)
</span><span class="cx">     , m_lastEventId(lastEventId)
</span><span class="cx">     , m_source(source)
</span><del>-    , m_ports(ports)
</del><ins>+    , m_ports(std::move(ports))
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isValidSource(m_source.get()));
</span><span class="cx"> }
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MessageEvent::initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, PassOwnPtr&lt;MessagePortArray&gt; ports)
</del><ins>+void MessageEvent::initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, std::unique_ptr&lt;MessagePortArray&gt; ports)
</ins><span class="cx"> {
</span><span class="cx">     if (dispatched())
</span><span class="cx">         return;
</span><span class="lines">@@ -119,10 +119,10 @@
</span><span class="cx">     m_origin = origin;
</span><span class="cx">     m_lastEventId = lastEventId;
</span><span class="cx">     m_source = source;
</span><del>-    m_ports = ports;
</del><ins>+    m_ports = std::move(ports);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MessageEvent::initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, PassOwnPtr&lt;MessagePortArray&gt; ports)
</del><ins>+void MessageEvent::initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, std::unique_ptr&lt;MessagePortArray&gt; ports)
</ins><span class="cx"> {
</span><span class="cx">     if (dispatched())
</span><span class="cx">         return;
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     m_origin = origin;
</span><span class="cx">     m_lastEventId = lastEventId;
</span><span class="cx">     m_source = source;
</span><del>-    m_ports = ports;
</del><ins>+    m_ports = std::move(ports);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: Remove this when we have custom ObjC binding support.
</span><span class="lines">@@ -155,12 +155,12 @@
</span><span class="cx"> 
</span><span class="cx"> void MessageEvent::initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, MessagePort* port)
</span><span class="cx"> {
</span><del>-    OwnPtr&lt;MessagePortArray&gt; ports;
</del><ins>+    std::unique_ptr&lt;MessagePortArray&gt; ports;
</ins><span class="cx">     if (port) {
</span><del>-        ports = adoptPtr(new MessagePortArray);
</del><ins>+        ports = std::make_unique&lt;MessagePortArray&gt;();
</ins><span class="cx">         ports-&gt;append(port);
</span><span class="cx">     }
</span><del>-    initMessageEvent(type, canBubble, cancelable, data, origin, lastEventId, source, ports.release());
</del><ins>+    initMessageEvent(type, canBubble, cancelable, data, origin, lastEventId, source, std::move(ports));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EventInterface MessageEvent::eventInterface() const
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/MessageEvent.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;MessagePort.h&quot;
</span><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><span class="cx"> #include &lt;bindings/ScriptValue.h&gt;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -56,13 +57,13 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(new MessageEvent);
</span><span class="cx">     }
</span><del>-    static PassRefPtr&lt;MessageEvent&gt; create(PassOwnPtr&lt;MessagePortArray&gt; ports, const Deprecated::ScriptValue&amp; data = Deprecated::ScriptValue(), const String&amp; origin = String(), const String&amp; lastEventId = String(), PassRefPtr&lt;EventTarget&gt; source = 0)
</del><ins>+    static PassRefPtr&lt;MessageEvent&gt; create(std::unique_ptr&lt;MessagePortArray&gt; ports, const Deprecated::ScriptValue&amp; data = Deprecated::ScriptValue(), const String&amp; origin = String(), const String&amp; lastEventId = String(), PassRefPtr&lt;EventTarget&gt; source = 0)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new MessageEvent(data, origin, lastEventId, source, ports));
</del><ins>+        return adoptRef(new MessageEvent(data, origin, lastEventId, source, std::move(ports)));
</ins><span class="cx">     }
</span><del>-    static PassRefPtr&lt;MessageEvent&gt; create(PassOwnPtr&lt;MessagePortArray&gt; ports, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin = String(), const String&amp; lastEventId = String(), PassRefPtr&lt;EventTarget&gt; source = 0)
</del><ins>+    static PassRefPtr&lt;MessageEvent&gt; create(std::unique_ptr&lt;MessagePortArray&gt; ports, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin = String(), const String&amp; lastEventId = String(), PassRefPtr&lt;EventTarget&gt; source = 0)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new MessageEvent(data, origin, lastEventId, source, ports));
</del><ins>+        return adoptRef(new MessageEvent(data, origin, lastEventId, source, std::move(ports)));
</ins><span class="cx">     }
</span><span class="cx">     static PassRefPtr&lt;MessageEvent&gt; create(const String&amp; data, const String&amp; origin = String())
</span><span class="cx">     {
</span><span class="lines">@@ -82,8 +83,8 @@
</span><span class="cx">     }
</span><span class="cx">     virtual ~MessageEvent();
</span><span class="cx"> 
</span><del>-    void initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, PassOwnPtr&lt;MessagePortArray&gt;);
-    void initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, PassOwnPtr&lt;MessagePortArray&gt;);
</del><ins>+    void initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, std::unique_ptr&lt;MessagePortArray&gt;);
+    void initMessageEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, DOMWindow* source, std::unique_ptr&lt;MessagePortArray&gt;);
</ins><span class="cx"> 
</span><span class="cx">     const String&amp; origin() const { return m_origin; }
</span><span class="cx">     const String&amp; lastEventId() const { return m_lastEventId; }
</span><span class="lines">@@ -116,8 +117,8 @@
</span><span class="cx"> private:
</span><span class="cx">     MessageEvent();
</span><span class="cx">     MessageEvent(const AtomicString&amp;, const MessageEventInit&amp;);
</span><del>-    MessageEvent(const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, PassOwnPtr&lt;MessagePortArray&gt;);
-    MessageEvent(PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, PassOwnPtr&lt;MessagePortArray&gt;);
</del><ins>+    MessageEvent(const Deprecated::ScriptValue&amp; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt;);
+    MessageEvent(PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin, const String&amp; lastEventId, PassRefPtr&lt;EventTarget&gt; source, std::unique_ptr&lt;MessagePortArray&gt;);
</ins><span class="cx"> 
</span><span class="cx">     explicit MessageEvent(const String&amp; data, const String&amp; origin);
</span><span class="cx">     explicit MessageEvent(PassRefPtr&lt;Blob&gt; data, const String&amp; origin);
</span><span class="lines">@@ -132,7 +133,7 @@
</span><span class="cx">     String m_origin;
</span><span class="cx">     String m_lastEventId;
</span><span class="cx">     RefPtr&lt;EventTarget&gt; m_source;
</span><del>-    OwnPtr&lt;MessagePortArray&gt; m_ports;
</del><ins>+    std::unique_ptr&lt;MessagePortArray&gt; m_ports;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessagePortcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessagePort.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessagePort.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/MessagePort.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">         return;
</span><span class="cx">     ASSERT(m_scriptExecutionContext);
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; channels;
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; channels;
</ins><span class="cx">     // Make sure we aren't connected to any of the passed-in ports.
</span><span class="cx">     if (ports) {
</span><span class="cx">         for (unsigned int i = 0; i &lt; ports-&gt;size(); ++i) {
</span><span class="lines">@@ -80,10 +80,10 @@
</span><span class="cx">         if (ec)
</span><span class="cx">             return;
</span><span class="cx">     }
</span><del>-    m_entangledChannel-&gt;postMessageToRemote(message, channels.release());
</del><ins>+    m_entangledChannel-&gt;postMessageToRemote(message, std::move(channels));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassOwnPtr&lt;MessagePortChannel&gt; MessagePort::disentangle()
</del><ins>+std::unique_ptr&lt;MessagePortChannel&gt; MessagePort::disentangle()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_entangledChannel);
</span><span class="cx"> 
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">     m_scriptExecutionContext-&gt;destroyedMessagePort(this);
</span><span class="cx">     m_scriptExecutionContext = 0;
</span><span class="cx"> 
</span><del>-    return m_entangledChannel.release();
</del><ins>+    return std::move(m_entangledChannel);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Invoked to notify us that there are messages available for this port.
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">     m_closed = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MessagePort::entangle(PassOwnPtr&lt;MessagePortChannel&gt; remote)
</del><ins>+void MessagePort::entangle(std::unique_ptr&lt;MessagePortChannel&gt; remote)
</ins><span class="cx"> {
</span><span class="cx">     // Only invoked to set our initial entanglement.
</span><span class="cx">     ASSERT(!m_entangledChannel);
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Don't entangle the ports if the channel is closed.
</span><span class="cx">     if (remote-&gt;entangleIfOpen(this))
</span><del>-        m_entangledChannel = remote;
</del><ins>+        m_entangledChannel = std::move(remote);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MessagePort::contextDestroyed()
</span><span class="lines">@@ -153,15 +153,15 @@
</span><span class="cx">     ASSERT(started());
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; message;
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; channels;
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; channels;
</ins><span class="cx">     while (m_entangledChannel &amp;&amp; m_entangledChannel-&gt;tryGetMessageFromRemote(message, channels)) {
</span><span class="cx"> 
</span><span class="cx">         // close() in Worker onmessage handler should prevent next message from dispatching.
</span><span class="cx">         if (m_scriptExecutionContext-&gt;isWorkerGlobalScope() &amp;&amp; static_cast&lt;WorkerGlobalScope*&gt;(m_scriptExecutionContext)-&gt;isClosing())
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        OwnPtr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*m_scriptExecutionContext, channels.release());
-        RefPtr&lt;Event&gt; evt = MessageEvent::create(ports.release(), message.release());
</del><ins>+        std::unique_ptr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*m_scriptExecutionContext, std::move(channels));
+        RefPtr&lt;Event&gt; evt = MessageEvent::create(std::move(ports), message.release());
</ins><span class="cx"> 
</span><span class="cx">         dispatchEvent(evt.release(), ASSERT_NO_EXCEPTION);
</span><span class="cx">     }
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">     return m_entangledChannel ? m_entangledChannel-&gt;locallyEntangledPort(m_scriptExecutionContext) : 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassOwnPtr&lt;MessagePortChannelArray&gt; MessagePort::disentanglePorts(const MessagePortArray* ports, ExceptionCode&amp; ec)
</del><ins>+std::unique_ptr&lt;MessagePortChannelArray&gt; MessagePort::disentanglePorts(const MessagePortArray* ports, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (!ports || !ports-&gt;size())
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -202,26 +202,26 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Passed-in ports passed validity checks, so we can disentangle them.
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; portArray = adoptPtr(new MessagePortChannelArray(ports-&gt;size()));
</del><ins>+    auto portArray = std::make_unique&lt;MessagePortChannelArray&gt;(ports-&gt;size());
</ins><span class="cx">     for (unsigned int i = 0 ; i &lt; ports-&gt;size() ; ++i) {
</span><del>-        OwnPtr&lt;MessagePortChannel&gt; channel = (*ports)[i]-&gt;disentangle();
-        (*portArray)[i] = channel.release();
</del><ins>+        std::unique_ptr&lt;MessagePortChannel&gt; channel = (*ports)[i]-&gt;disentangle();
+        (*portArray)[i] = std::move(channel);
</ins><span class="cx">     }
</span><del>-    return portArray.release();
</del><ins>+    return portArray;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassOwnPtr&lt;MessagePortArray&gt; MessagePort::entanglePorts(ScriptExecutionContext&amp; context, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+std::unique_ptr&lt;MessagePortArray&gt; MessagePort::entanglePorts(ScriptExecutionContext&amp; context, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx"> {
</span><span class="cx">     if (!channels || !channels-&gt;size())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MessagePortArray&gt; portArray = adoptPtr(new MessagePortArray(channels-&gt;size()));
</del><ins>+    auto portArray = std::make_unique&lt;MessagePortArray&gt;(channels-&gt;size());
</ins><span class="cx">     for (unsigned int i = 0; i &lt; channels-&gt;size(); ++i) {
</span><span class="cx">         RefPtr&lt;MessagePort&gt; port = MessagePort::create(context);
</span><del>-        port-&gt;entangle((*channels)[i].release());
</del><ins>+        port-&gt;entangle(std::move((*channels)[i]));
</ins><span class="cx">         (*portArray)[i] = port.release();
</span><span class="cx">     }
</span><del>-    return portArray.release();
</del><ins>+    return portArray;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessagePorth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessagePort.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessagePort.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/MessagePort.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -30,9 +30,8 @@
</span><span class="cx"> #include &quot;EventListener.h&quot;
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><span class="cx"> #include &quot;MessagePortChannel.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/OwnPtr.h&gt;
-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -59,14 +58,14 @@
</span><span class="cx">         void start();
</span><span class="cx">         void close();
</span><span class="cx"> 
</span><del>-        void entangle(PassOwnPtr&lt;MessagePortChannel&gt;);
-        PassOwnPtr&lt;MessagePortChannel&gt; disentangle();
</del><ins>+        void entangle(std::unique_ptr&lt;MessagePortChannel&gt;);
+        std::unique_ptr&lt;MessagePortChannel&gt; disentangle();
</ins><span class="cx"> 
</span><span class="cx">         // Returns 0 if there is an exception, or if the passed-in array is 0/empty.
</span><del>-        static PassOwnPtr&lt;MessagePortChannelArray&gt; disentanglePorts(const MessagePortArray*, ExceptionCode&amp;);
</del><ins>+        static std::unique_ptr&lt;MessagePortChannelArray&gt; disentanglePorts(const MessagePortArray*, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">         // Returns 0 if the passed array is 0/empty.
</span><del>-        static PassOwnPtr&lt;MessagePortArray&gt; entanglePorts(ScriptExecutionContext&amp;, PassOwnPtr&lt;MessagePortChannelArray&gt;);
</del><ins>+        static std::unique_ptr&lt;MessagePortArray&gt; entanglePorts(ScriptExecutionContext&amp;, std::unique_ptr&lt;MessagePortChannelArray&gt;);
</ins><span class="cx"> 
</span><span class="cx">         void messageAvailable();
</span><span class="cx">         bool started() const { return m_started; }
</span><span class="lines">@@ -108,7 +107,7 @@
</span><span class="cx">         virtual void refEventTarget() override { ref(); }
</span><span class="cx">         virtual void derefEventTarget() override { deref(); }
</span><span class="cx"> 
</span><del>-        OwnPtr&lt;MessagePortChannel&gt; m_entangledChannel;
</del><ins>+        std::unique_ptr&lt;MessagePortChannel&gt; m_entangledChannel;
</ins><span class="cx"> 
</span><span class="cx">         bool m_started;
</span><span class="cx">         bool m_closed;
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessagePortChannelh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessagePortChannel.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessagePortChannel.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/MessagePortChannel.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -32,9 +32,8 @@
</span><span class="cx"> #define MessagePortChannel_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><del>-#include &lt;wtf/OwnPtr.h&gt;
</del><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="lines">@@ -49,13 +48,14 @@
</span><span class="cx">     class SerializedScriptValue;
</span><span class="cx"> 
</span><span class="cx">     // The overwhelmingly common case is sending a single port, so handle that efficiently with an inline buffer of size 1.
</span><del>-    typedef Vector&lt;OwnPtr&lt;MessagePortChannel&gt;, 1&gt; MessagePortChannelArray;
</del><ins>+    typedef Vector&lt;std::unique_ptr&lt;MessagePortChannel&gt;, 1&gt; MessagePortChannelArray;
</ins><span class="cx"> 
</span><span class="cx">     // MessagePortChannel is a platform-independent interface to the remote side of a message channel.
</span><span class="cx">     // It acts as a wrapper around the platform-dependent PlatformMessagePortChannel implementation which ensures that the platform-dependent close() method is invoked before destruction.
</span><span class="cx">     class MessagePortChannel {
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(MessagePortChannel); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><ins>+        explicit MessagePortChannel(PassRefPtr&lt;PlatformMessagePortChannel&gt;);
</ins><span class="cx">         static void createChannel(PassRefPtr&lt;MessagePort&gt;, PassRefPtr&lt;MessagePort&gt;);
</span><span class="cx"> 
</span><span class="cx">         // Entangles the channel with a port (called when a port has been cloned, after the clone has been marshaled to its new owning thread and is ready to receive messages).
</span><span class="lines">@@ -75,10 +75,10 @@
</span><span class="cx">         bool hasPendingActivity();
</span><span class="cx"> 
</span><span class="cx">         // Sends a message and optional cloned port to the remote port.
</span><del>-        void postMessageToRemote(PassRefPtr&lt;SerializedScriptValue&gt;, PassOwnPtr&lt;MessagePortChannelArray&gt;);
</del><ins>+        void postMessageToRemote(PassRefPtr&lt;SerializedScriptValue&gt;, std::unique_ptr&lt;MessagePortChannelArray&gt;);
</ins><span class="cx"> 
</span><span class="cx">         // Extracts a message from the message queue for this port.
</span><del>-        bool tryGetMessageFromRemote(RefPtr&lt;SerializedScriptValue&gt;&amp;, OwnPtr&lt;MessagePortChannelArray&gt;&amp;);
</del><ins>+        bool tryGetMessageFromRemote(RefPtr&lt;SerializedScriptValue&gt;&amp;, std::unique_ptr&lt;MessagePortChannelArray&gt;&amp;);
</ins><span class="cx"> 
</span><span class="cx">         // Returns the entangled port if run by the same thread (see MessagePort::locallyEntangledPort() for more details).
</span><span class="cx">         MessagePort* locallyEntangledPort(const ScriptExecutionContext*);
</span><span class="lines">@@ -86,7 +86,6 @@
</span><span class="cx">         ~MessagePortChannel();
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        explicit MessagePortChannel(PassRefPtr&lt;PlatformMessagePortChannel&gt;);
</del><span class="cx">         RefPtr&lt;PlatformMessagePortChannel&gt; m_channel;
</span><span class="cx">     };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomdefaultPlatformMessagePortChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -37,14 +37,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;PlatformMessagePortChannel::EventData&gt; PlatformMessagePortChannel::EventData::create(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
-{
-    return std::unique_ptr&lt;EventData&gt;(new EventData(message, channels));
-}
-
-PlatformMessagePortChannel::EventData::EventData(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+PlatformMessagePortChannel::EventData::EventData(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx">     : m_message(message)
</span><del>-    , m_channels(channels)
</del><ins>+    , m_channels(std::move(channels))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -53,14 +48,14 @@
</span><span class="cx">     RefPtr&lt;PlatformMessagePortChannel::MessagePortQueue&gt; queue1 = PlatformMessagePortChannel::MessagePortQueue::create();
</span><span class="cx">     RefPtr&lt;PlatformMessagePortChannel::MessagePortQueue&gt; queue2 = PlatformMessagePortChannel::MessagePortQueue::create();
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MessagePortChannel&gt; channel1 = adoptPtr(new MessagePortChannel(PlatformMessagePortChannel::create(queue1, queue2)));
-    OwnPtr&lt;MessagePortChannel&gt; channel2 = adoptPtr(new MessagePortChannel(PlatformMessagePortChannel::create(queue2, queue1)));
</del><ins>+    auto channel1 = std::make_unique&lt;MessagePortChannel&gt;(PlatformMessagePortChannel::create(queue1, queue2));
+    auto channel2 = std::make_unique&lt;MessagePortChannel&gt;(PlatformMessagePortChannel::create(queue2, queue1));
</ins><span class="cx"> 
</span><span class="cx">     channel1-&gt;m_channel-&gt;m_entangledChannel = channel2-&gt;m_channel;
</span><span class="cx">     channel2-&gt;m_channel-&gt;m_entangledChannel = channel1-&gt;m_channel;
</span><span class="cx"> 
</span><del>-    port1-&gt;entangle(channel2.release());
-    port2-&gt;entangle(channel1.release());
</del><ins>+    port1-&gt;entangle(std::move(channel2));
+    port2-&gt;entangle(std::move(channel1));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> MessagePortChannel::MessagePortChannel(PassRefPtr&lt;PlatformMessagePortChannel&gt; channel)
</span><span class="lines">@@ -91,17 +86,17 @@
</span><span class="cx">         remote-&gt;setRemotePort(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MessagePortChannel::postMessageToRemote(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+void MessagePortChannel::postMessageToRemote(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx"> {
</span><span class="cx">     MutexLocker lock(m_channel-&gt;m_mutex);
</span><span class="cx">     if (!m_channel-&gt;m_outgoingQueue)
</span><span class="cx">         return;
</span><del>-    bool wasEmpty = m_channel-&gt;m_outgoingQueue-&gt;appendAndCheckEmpty(PlatformMessagePortChannel::EventData::create(message, channels));
</del><ins>+    bool wasEmpty = m_channel-&gt;m_outgoingQueue-&gt;appendAndCheckEmpty(std::make_unique&lt;PlatformMessagePortChannel::EventData&gt;(message, std::move(channels)));
</ins><span class="cx">     if (wasEmpty &amp;&amp; m_channel-&gt;m_remotePort)
</span><span class="cx">         m_channel-&gt;m_remotePort-&gt;messageAvailable();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool MessagePortChannel::tryGetMessageFromRemote(RefPtr&lt;SerializedScriptValue&gt;&amp; message, OwnPtr&lt;MessagePortChannelArray&gt;&amp; channels)
</del><ins>+bool MessagePortChannel::tryGetMessageFromRemote(RefPtr&lt;SerializedScriptValue&gt;&amp; message, std::unique_ptr&lt;MessagePortChannelArray&gt;&amp; channels)
</ins><span class="cx"> {
</span><span class="cx">     MutexLocker lock(m_channel-&gt;m_mutex);
</span><span class="cx">     auto result = m_channel-&gt;m_incomingQueue-&gt;tryGetMessage();
</span></span></pre></div>
<a id="trunkSourceWebCoredomdefaultPlatformMessagePortChannelh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/dom/default/PlatformMessagePortChannel.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -49,15 +49,14 @@
</span><span class="cx">         class EventData {
</span><span class="cx">             WTF_MAKE_NONCOPYABLE(EventData); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">         public:
</span><del>-            static std::unique_ptr&lt;EventData&gt; create(PassRefPtr&lt;SerializedScriptValue&gt;, PassOwnPtr&lt;MessagePortChannelArray&gt;);
</del><ins>+            EventData(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt;);
</ins><span class="cx"> 
</span><span class="cx">             PassRefPtr&lt;SerializedScriptValue&gt; message() { return m_message; }
</span><del>-            PassOwnPtr&lt;MessagePortChannelArray&gt; channels() { return m_channels.release(); }
</del><ins>+            std::unique_ptr&lt;MessagePortChannelArray&gt; channels() { return std::move(m_channels); }
</ins><span class="cx"> 
</span><span class="cx">         private:
</span><del>-            EventData(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt;);
</del><span class="cx">             RefPtr&lt;SerializedScriptValue&gt; m_message;
</span><del>-            OwnPtr&lt;MessagePortChannelArray&gt; m_channels;
</del><ins>+            std::unique_ptr&lt;MessagePortChannelArray&gt; m_channels;
</ins><span class="cx">         };
</span><span class="cx"> 
</span><span class="cx">         // Wrapper for MessageQueue that allows us to do thread safe sharing by two proxies.
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/page/DOMWindow.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -131,12 +131,12 @@
</span><span class="cx"> 
</span><span class="cx"> class PostMessageTimer : public TimerBase {
</span><span class="cx"> public:
</span><del>-    PostMessageTimer(DOMWindow* window, PassRefPtr&lt;SerializedScriptValue&gt; message, const String&amp; sourceOrigin, PassRefPtr&lt;DOMWindow&gt; source, PassOwnPtr&lt;MessagePortChannelArray&gt; channels, SecurityOrigin* targetOrigin, PassRefPtr&lt;ScriptCallStack&gt; stackTrace)
</del><ins>+    PostMessageTimer(DOMWindow* window, PassRefPtr&lt;SerializedScriptValue&gt; message, const String&amp; sourceOrigin, PassRefPtr&lt;DOMWindow&gt; source, std::unique_ptr&lt;MessagePortChannelArray&gt; channels, SecurityOrigin* targetOrigin, PassRefPtr&lt;ScriptCallStack&gt; stackTrace)
</ins><span class="cx">         : m_window(window)
</span><span class="cx">         , m_message(message)
</span><span class="cx">         , m_origin(sourceOrigin)
</span><span class="cx">         , m_source(source)
</span><del>-        , m_channels(channels)
</del><ins>+        , m_channels(std::move(channels))
</ins><span class="cx">         , m_targetOrigin(targetOrigin)
</span><span class="cx">         , m_stackTrace(stackTrace)
</span><span class="cx">     {
</span><span class="lines">@@ -144,8 +144,8 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;MessageEvent&gt; event(ScriptExecutionContext* context)
</span><span class="cx">     {
</span><del>-        OwnPtr&lt;MessagePortArray&gt; messagePorts = MessagePort::entanglePorts(*context, m_channels.release());
-        return MessageEvent::create(messagePorts.release(), m_message, m_origin, String(), m_source);
</del><ins>+        std::unique_ptr&lt;MessagePortArray&gt; messagePorts = MessagePort::entanglePorts(*context, std::move(m_channels));
+        return MessageEvent::create(std::move(messagePorts), m_message, m_origin, String(), m_source);
</ins><span class="cx">     }
</span><span class="cx">     SecurityOrigin* targetOrigin() const { return m_targetOrigin.get(); }
</span><span class="cx">     ScriptCallStack* stackTrace() const { return m_stackTrace.get(); }
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_message;
</span><span class="cx">     String m_origin;
</span><span class="cx">     RefPtr&lt;DOMWindow&gt; m_source;
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; m_channels;
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; m_channels;
</ins><span class="cx">     RefPtr&lt;SecurityOrigin&gt; m_targetOrigin;
</span><span class="cx">     RefPtr&lt;ScriptCallStack&gt; m_stackTrace;
</span><span class="cx"> };
</span><span class="lines">@@ -833,7 +833,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</ins><span class="cx">     if (ec)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -849,7 +849,7 @@
</span><span class="cx">         stackTrace = createScriptCallStack(JSMainThreadExecState::currentState(), ScriptCallStack::maxCallStackSizeToCapture, true);
</span><span class="cx"> 
</span><span class="cx">     // Schedule the message.
</span><del>-    PostMessageTimer* timer = new PostMessageTimer(this, message, sourceOrigin, &amp;source, channels.release(), target.get(), stackTrace.release());
</del><ins>+    PostMessageTimer* timer = new PostMessageTimer(this, message, sourceOrigin, &amp;source, std::move(channels), target.get(), stackTrace.release());
</ins><span class="cx">     timer-&gt;startOneShot(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDedicatedWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -71,10 +71,10 @@
</span><span class="cx"> void DedicatedWorkerGlobalScope::postMessage(PassRefPtr&lt;SerializedScriptValue&gt; message, const MessagePortArray* ports, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><span class="cx">     // Disentangle the port in preparation for sending it to the remote context.
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</ins><span class="cx">     if (ec)
</span><span class="cx">         return;
</span><del>-    thread()-&gt;workerObjectProxy().postMessageToWorkerObject(message, channels.release());
</del><ins>+    thread()-&gt;workerObjectProxy().postMessageToWorkerObject(message, std::move(channels));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DedicatedWorkerGlobalScope::importScripts(const Vector&lt;String&gt;&amp; urls, ExceptionCode&amp; ec)
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDefaultSharedWorkerRepositorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -254,21 +254,21 @@
</span><span class="cx"> 
</span><span class="cx"> class SharedWorkerConnectTask : public ScriptExecutionContext::Task {
</span><span class="cx"> public:
</span><del>-    static PassOwnPtr&lt;SharedWorkerConnectTask&gt; create(PassOwnPtr&lt;MessagePortChannel&gt; channel)
</del><ins>+    static PassOwnPtr&lt;SharedWorkerConnectTask&gt; create(std::unique_ptr&lt;MessagePortChannel&gt; channel)
</ins><span class="cx">     {
</span><del>-        return adoptPtr(new SharedWorkerConnectTask(channel));
</del><ins>+        return adoptPtr(new SharedWorkerConnectTask(std::move(channel)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    SharedWorkerConnectTask(PassOwnPtr&lt;MessagePortChannel&gt; channel)
-        : m_channel(channel)
</del><ins>+    SharedWorkerConnectTask(std::unique_ptr&lt;MessagePortChannel&gt; channel)
+        : m_channel(std::move(channel))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual void performTask(ScriptExecutionContext* scriptContext)
</span><span class="cx">     {
</span><span class="cx">         RefPtr&lt;MessagePort&gt; port = MessagePort::create(*scriptContext);
</span><del>-        port-&gt;entangle(m_channel.release());
</del><ins>+        port-&gt;entangle(std::move(m_channel));
</ins><span class="cx">         ASSERT_WITH_SECURITY_IMPLICATION(scriptContext-&gt;isWorkerGlobalScope());
</span><span class="cx">         WorkerGlobalScope* workerGlobalScope = static_cast&lt;WorkerGlobalScope*&gt;(scriptContext);
</span><span class="cx">         // Since close() stops the thread event loop, this should not ever get called while closing.
</span><span class="lines">@@ -277,13 +277,13 @@
</span><span class="cx">         workerGlobalScope-&gt;dispatchEvent(createConnectEvent(port));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MessagePortChannel&gt; m_channel;
</del><ins>+    std::unique_ptr&lt;MessagePortChannel&gt; m_channel;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // Loads the script on behalf of a worker.
</span><span class="cx"> class SharedWorkerScriptLoader : public RefCounted&lt;SharedWorkerScriptLoader&gt;, private WorkerScriptLoaderClient {
</span><span class="cx"> public:
</span><del>-    SharedWorkerScriptLoader(PassRefPtr&lt;SharedWorker&gt;, PassOwnPtr&lt;MessagePortChannel&gt;, PassRefPtr&lt;SharedWorkerProxy&gt;);
</del><ins>+    SharedWorkerScriptLoader(PassRefPtr&lt;SharedWorker&gt;, std::unique_ptr&lt;MessagePortChannel&gt;, PassRefPtr&lt;SharedWorkerProxy&gt;);
</ins><span class="cx">     void load(const URL&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -292,14 +292,14 @@
</span><span class="cx">     virtual void notifyFinished();
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;SharedWorker&gt; m_worker;
</span><del>-    OwnPtr&lt;MessagePortChannel&gt; m_port;
</del><ins>+    std::unique_ptr&lt;MessagePortChannel&gt; m_port;
</ins><span class="cx">     RefPtr&lt;SharedWorkerProxy&gt; m_proxy;
</span><span class="cx">     RefPtr&lt;WorkerScriptLoader&gt; m_scriptLoader;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-SharedWorkerScriptLoader::SharedWorkerScriptLoader(PassRefPtr&lt;SharedWorker&gt; worker, PassOwnPtr&lt;MessagePortChannel&gt; port, PassRefPtr&lt;SharedWorkerProxy&gt; proxy)
</del><ins>+SharedWorkerScriptLoader::SharedWorkerScriptLoader(PassRefPtr&lt;SharedWorker&gt; worker, std::unique_ptr&lt;MessagePortChannel&gt; port, PassRefPtr&lt;SharedWorkerProxy&gt; proxy)
</ins><span class="cx">     : m_worker(worker)
</span><del>-    , m_port(port)
</del><ins>+    , m_port(std::move(port))
</ins><span class="cx">     , m_proxy(proxy)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -331,9 +331,9 @@
</span><span class="cx">     else {
</span><span class="cx">         InspectorInstrumentation::scriptImported(m_worker-&gt;scriptExecutionContext(), m_scriptLoader-&gt;identifier(), m_scriptLoader-&gt;script());
</span><span class="cx">         DefaultSharedWorkerRepository::instance().workerScriptLoaded(*m_proxy, m_worker-&gt;scriptExecutionContext()-&gt;userAgent(m_scriptLoader-&gt;url()),
</span><del>-                                                                     m_scriptLoader-&gt;script(), m_port.release(),
-                                                                     m_worker-&gt;scriptExecutionContext()-&gt;contentSecurityPolicy()-&gt;deprecatedHeader(),
-                                                                     m_worker-&gt;scriptExecutionContext()-&gt;contentSecurityPolicy()-&gt;deprecatedHeaderType());
</del><ins>+            m_scriptLoader-&gt;script(), std::move(m_port),
+            m_worker-&gt;scriptExecutionContext()-&gt;contentSecurityPolicy()-&gt;deprecatedHeader(),
+            m_worker-&gt;scriptExecutionContext()-&gt;contentSecurityPolicy()-&gt;deprecatedHeaderType());
</ins><span class="cx">     }
</span><span class="cx">     m_worker-&gt;unsetPendingActivity(m_worker.get());
</span><span class="cx">     this-&gt;deref(); // This frees this object - must be the last action in this function.
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx">     return platformStrategies()-&gt;sharedWorkerStrategy()-&gt;isAvailable();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DefaultSharedWorkerRepository::workerScriptLoaded(SharedWorkerProxy&amp; proxy, const String&amp; userAgent, const String&amp; workerScript, PassOwnPtr&lt;MessagePortChannel&gt; port, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType)
</del><ins>+void DefaultSharedWorkerRepository::workerScriptLoaded(SharedWorkerProxy&amp; proxy, const String&amp; userAgent, const String&amp; workerScript, std::unique_ptr&lt;MessagePortChannel&gt; port, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType)
</ins><span class="cx"> {
</span><span class="cx">     MutexLocker lock(m_lock);
</span><span class="cx">     if (proxy.isClosing())
</span><span class="lines">@@ -367,7 +367,7 @@
</span><span class="cx">         proxy.setThread(thread);
</span><span class="cx">         thread-&gt;start();
</span><span class="cx">     }
</span><del>-    proxy.thread()-&gt;runLoop().postTask(SharedWorkerConnectTask::create(port));
</del><ins>+    proxy.thread()-&gt;runLoop().postTask(SharedWorkerConnectTask::create(std::move(port)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool DefaultSharedWorkerRepository::hasSharedWorkers(Document* document)
</span><span class="lines">@@ -398,7 +398,7 @@
</span><span class="cx">         m_proxies[i]-&gt;documentDetached(document);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DefaultSharedWorkerRepository::connectToWorker(PassRefPtr&lt;SharedWorker&gt; worker, PassOwnPtr&lt;MessagePortChannel&gt; port, const URL&amp; url, const String&amp; name, ExceptionCode&amp; ec)
</del><ins>+void DefaultSharedWorkerRepository::connectToWorker(PassRefPtr&lt;SharedWorker&gt; worker, std::unique_ptr&lt;MessagePortChannel&gt; port, const URL&amp; url, const String&amp; name, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     MutexLocker lock(m_lock);
</span><span class="cx">     ASSERT(worker-&gt;scriptExecutionContext()-&gt;securityOrigin()-&gt;canAccess(SecurityOrigin::create(url).get()));
</span><span class="lines">@@ -415,9 +415,9 @@
</span><span class="cx">     }
</span><span class="cx">     // If proxy is already running, just connect to it - otherwise, kick off a loader to load the script.
</span><span class="cx">     if (proxy-&gt;thread())
</span><del>-        proxy-&gt;thread()-&gt;runLoop().postTask(SharedWorkerConnectTask::create(port));
</del><ins>+        proxy-&gt;thread()-&gt;runLoop().postTask(SharedWorkerConnectTask::create(std::move(port)));
</ins><span class="cx">     else {
</span><del>-        RefPtr&lt;SharedWorkerScriptLoader&gt; loader = adoptRef(new SharedWorkerScriptLoader(worker, port, proxy.release()));
</del><ins>+        RefPtr&lt;SharedWorkerScriptLoader&gt; loader = adoptRef(new SharedWorkerScriptLoader(worker, std::move(port), proxy.release()));
</ins><span class="cx">         loader-&gt;load(url);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDefaultSharedWorkerRepositoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -34,10 +34,10 @@
</span><span class="cx"> #if ENABLE(SHARED_WORKERS)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ContentSecurityPolicy.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Threading.h&gt;
</span><span class="lines">@@ -62,10 +62,10 @@
</span><span class="cx">         static bool isAvailable();
</span><span class="cx"> 
</span><span class="cx">         // Invoked once the worker script has been loaded to fire up the worker thread.
</span><del>-        void workerScriptLoaded(SharedWorkerProxy&amp;, const String&amp; userAgent, const String&amp; workerScript, PassOwnPtr&lt;MessagePortChannel&gt;, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
</del><ins>+        void workerScriptLoaded(SharedWorkerProxy&amp;, const String&amp; userAgent, const String&amp; workerScript, std::unique_ptr&lt;MessagePortChannel&gt;, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
</ins><span class="cx"> 
</span><span class="cx">         // Internal implementation of SharedWorkerRepository::connect()
</span><del>-        void connectToWorker(PassRefPtr&lt;SharedWorker&gt;, PassOwnPtr&lt;MessagePortChannel&gt;, const URL&amp;, const String&amp; name, ExceptionCode&amp;);
</del><ins>+        void connectToWorker(PassRefPtr&lt;SharedWorker&gt;, std::unique_ptr&lt;MessagePortChannel&gt;, const URL&amp;, const String&amp; name, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">         // Notification that a document has been detached.
</span><span class="cx">         void documentDetached(Document*);
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorker.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorker.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/SharedWorker.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;MessageChannel&gt; channel = MessageChannel::create(context);
</span><span class="cx">     worker-&gt;m_port = channel-&gt;port1();
</span><del>-    OwnPtr&lt;MessagePortChannel&gt; remotePort = channel-&gt;port2()-&gt;disentangle();
</del><ins>+    std::unique_ptr&lt;MessagePortChannel&gt; remotePort = channel-&gt;port2()-&gt;disentangle();
</ins><span class="cx">     ASSERT(remotePort);
</span><span class="cx"> 
</span><span class="cx">     worker-&gt;suspendIfNeeded();
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    SharedWorkerRepository::connect(worker.get(), remotePort.release(), scriptURL, name, ec);
</del><ins>+    SharedWorkerRepository::connect(worker.get(), std::move(remotePort), scriptURL, name, ec);
</ins><span class="cx"> 
</span><span class="cx">     return worker.release();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> PassRefPtr&lt;MessageEvent&gt; createConnectEvent(PassRefPtr&lt;MessagePort&gt; prpPort)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;MessagePort&gt; port = prpPort;
</span><del>-    RefPtr&lt;MessageEvent&gt; event = MessageEvent::create(adoptPtr(new MessagePortArray(1, port)), Deprecated::ScriptValue(), String(), String(), port);
</del><ins>+    RefPtr&lt;MessageEvent&gt; event = MessageEvent::create(std::make_unique&lt;MessagePortArray&gt;(1, port), Deprecated::ScriptValue(), String(), String(), port);
</ins><span class="cx">     event-&gt;initEvent(eventNames().connectEvent, false, false);
</span><span class="cx">     return event.release();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerRepositorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerRepository.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerRepository.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/SharedWorkerRepository.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -41,9 +41,9 @@
</span><span class="cx">     return DefaultSharedWorkerRepository::instance().isAvailable();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedWorkerRepository::connect(PassRefPtr&lt;SharedWorker&gt; worker, PassOwnPtr&lt;MessagePortChannel&gt; port, const URL&amp; url, const String&amp; name, ExceptionCode&amp; ec)
</del><ins>+void SharedWorkerRepository::connect(PassRefPtr&lt;SharedWorker&gt; worker, std::unique_ptr&lt;MessagePortChannel&gt; port, const URL&amp; url, const String&amp; name, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    DefaultSharedWorkerRepository::instance().connectToWorker(worker, port, url, name, ec);
</del><ins>+    DefaultSharedWorkerRepository::instance().connectToWorker(worker, std::move(port), url, name, ec);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SharedWorkerRepository::documentDetached(Document* document)
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerRepositoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerRepository.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerRepository.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/SharedWorkerRepository.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SHARED_WORKERS)
</span><span class="cx"> 
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">         static bool isAvailable();
</span><span class="cx"> 
</span><span class="cx">         // Connects the passed SharedWorker object with the specified worker thread, creating a new thread if necessary.
</span><del>-        static void connect(PassRefPtr&lt;SharedWorker&gt;, PassOwnPtr&lt;MessagePortChannel&gt;, const URL&amp;, const String&amp; name, ExceptionCode&amp;);
</del><ins>+        static void connect(PassRefPtr&lt;SharedWorker&gt;, std::unique_ptr&lt;MessagePortChannel&gt;, const URL&amp;, const String&amp; name, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">         // Invoked when a document has been detached.
</span><span class="cx">         static void documentDetached(Document*);
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/Worker.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/Worker.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/Worker.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -119,10 +119,10 @@
</span><span class="cx"> void Worker::postMessage(PassRefPtr&lt;SerializedScriptValue&gt; message, const MessagePortArray* ports, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><span class="cx">     // Disentangle the port in preparation for sending it to the remote context.
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</ins><span class="cx">     if (ec)
</span><span class="cx">         return;
</span><del>-    m_contextProxy-&gt;postMessageToWorkerGlobalScope(message, channels.release());
</del><ins>+    m_contextProxy-&gt;postMessageToWorkerGlobalScope(message, std::move(channels));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Worker::terminate()
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerGlobalScopeProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerGlobalScopeProxy.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScopeProxy.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/WorkerGlobalScopeProxy.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;MessagePort.h&quot;
</span><span class="cx"> #include &quot;WorkerThread.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> 
</span><span class="cx">         virtual void terminateWorkerGlobalScope() = 0;
</span><span class="cx"> 
</span><del>-        virtual void postMessageToWorkerGlobalScope(PassRefPtr&lt;SerializedScriptValue&gt;, PassOwnPtr&lt;MessagePortChannelArray&gt;) = 0;
</del><ins>+        virtual void postMessageToWorkerGlobalScope(PassRefPtr&lt;SerializedScriptValue&gt;, std::unique_ptr&lt;MessagePortChannelArray&gt;) = 0;
</ins><span class="cx"> 
</span><span class="cx">         virtual bool hasPendingActivity() const = 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerMessagingProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -55,15 +55,15 @@
</span><span class="cx"> 
</span><span class="cx"> class MessageWorkerGlobalScopeTask : public ScriptExecutionContext::Task {
</span><span class="cx"> public:
</span><del>-    static PassOwnPtr&lt;MessageWorkerGlobalScopeTask&gt; create(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+    static PassOwnPtr&lt;MessageWorkerGlobalScopeTask&gt; create(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx">     {
</span><del>-        return adoptPtr(new MessageWorkerGlobalScopeTask(message, channels));
</del><ins>+        return adoptPtr(new MessageWorkerGlobalScopeTask(message, std::move(channels)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    MessageWorkerGlobalScopeTask(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+    MessageWorkerGlobalScopeTask(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx">         : m_message(message)
</span><del>-        , m_channels(channels)
</del><ins>+        , m_channels(std::move(channels))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -71,27 +71,27 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT_WITH_SECURITY_IMPLICATION(scriptContext-&gt;isWorkerGlobalScope());
</span><span class="cx">         DedicatedWorkerGlobalScope* context = static_cast&lt;DedicatedWorkerGlobalScope*&gt;(scriptContext);
</span><del>-        OwnPtr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*scriptContext, m_channels.release());
-        context-&gt;dispatchEvent(MessageEvent::create(ports.release(), m_message));
</del><ins>+        std::unique_ptr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*scriptContext, std::move(m_channels));
+        context-&gt;dispatchEvent(MessageEvent::create(std::move(ports), m_message));
</ins><span class="cx">         context-&gt;thread()-&gt;workerObjectProxy().confirmMessageFromWorkerObject(context-&gt;hasPendingActivity());
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_message;
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; m_channels;
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; m_channels;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class MessageWorkerTask : public ScriptExecutionContext::Task {
</span><span class="cx"> public:
</span><del>-    static PassOwnPtr&lt;MessageWorkerTask&gt; create(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels, WorkerMessagingProxy* messagingProxy)
</del><ins>+    static PassOwnPtr&lt;MessageWorkerTask&gt; create(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels, WorkerMessagingProxy* messagingProxy)
</ins><span class="cx">     {
</span><del>-        return adoptPtr(new MessageWorkerTask(message, channels, messagingProxy));
</del><ins>+        return adoptPtr(new MessageWorkerTask(message, std::move(channels), messagingProxy));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    MessageWorkerTask(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels, WorkerMessagingProxy* messagingProxy)
</del><ins>+    MessageWorkerTask(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels, WorkerMessagingProxy* messagingProxy)
</ins><span class="cx">         : m_message(message)
</span><del>-        , m_channels(channels)
</del><ins>+        , m_channels(std::move(channels))
</ins><span class="cx">         , m_messagingProxy(messagingProxy)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -102,13 +102,13 @@
</span><span class="cx">         if (!workerObject || m_messagingProxy-&gt;askedToTerminate())
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        OwnPtr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*scriptContext, m_channels.release());
-        workerObject-&gt;dispatchEvent(MessageEvent::create(ports.release(), m_message));
</del><ins>+        std::unique_ptr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*scriptContext, std::move(m_channels));
+        workerObject-&gt;dispatchEvent(MessageEvent::create(std::move(ports), m_message));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_message;
</span><del>-    OwnPtr&lt;MessagePortChannelArray&gt; m_channels;
</del><ins>+    std::unique_ptr&lt;MessagePortChannelArray&gt; m_channels;
</ins><span class="cx">     WorkerMessagingProxy* m_messagingProxy;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -309,21 +309,21 @@
</span><span class="cx">     InspectorInstrumentation::didStartWorkerGlobalScope(m_scriptExecutionContext.get(), this, scriptURL);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerMessagingProxy::postMessageToWorkerObject(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+void WorkerMessagingProxy::postMessageToWorkerObject(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx"> {
</span><del>-    m_scriptExecutionContext-&gt;postTask(MessageWorkerTask::create(message, channels, this));
</del><ins>+    m_scriptExecutionContext-&gt;postTask(MessageWorkerTask::create(message, std::move(channels), this));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerMessagingProxy::postMessageToWorkerGlobalScope(PassRefPtr&lt;SerializedScriptValue&gt; message, PassOwnPtr&lt;MessagePortChannelArray&gt; channels)
</del><ins>+void WorkerMessagingProxy::postMessageToWorkerGlobalScope(PassRefPtr&lt;SerializedScriptValue&gt; message, std::unique_ptr&lt;MessagePortChannelArray&gt; channels)
</ins><span class="cx"> {
</span><span class="cx">     if (m_askedToTerminate)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_workerThread) {
</span><span class="cx">         ++m_unconfirmedMessageCount;
</span><del>-        m_workerThread-&gt;runLoop().postTask(MessageWorkerGlobalScopeTask::create(message, channels));
</del><ins>+        m_workerThread-&gt;runLoop().postTask(MessageWorkerGlobalScopeTask::create(message, std::move(channels)));
</ins><span class="cx">     } else
</span><del>-        m_queuedEarlyTasks.append(MessageWorkerGlobalScopeTask::create(message, channels));
</del><ins>+        m_queuedEarlyTasks.append(MessageWorkerGlobalScopeTask::create(message, std::move(channels)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope(PassOwnPtr&lt;ScriptExecutionContext::Task&gt; task, const String&amp; mode)
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerMessagingProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerMessagingProxy.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerMessagingProxy.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/WorkerMessagingProxy.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;WorkerGlobalScopeProxy.h&quot;
</span><span class="cx"> #include &quot;WorkerLoaderProxy.h&quot;
</span><span class="cx"> #include &quot;WorkerObjectProxy.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="lines">@@ -53,7 +54,7 @@
</span><span class="cx">         // (Only use these methods in the worker object thread.)
</span><span class="cx">         virtual void startWorkerGlobalScope(const URL&amp; scriptURL, const String&amp; userAgent, const String&amp; sourceCode, WorkerThreadStartMode) override;
</span><span class="cx">         virtual void terminateWorkerGlobalScope() override;
</span><del>-        virtual void postMessageToWorkerGlobalScope(PassRefPtr&lt;SerializedScriptValue&gt;, PassOwnPtr&lt;MessagePortChannelArray&gt;) override;
</del><ins>+        virtual void postMessageToWorkerGlobalScope(PassRefPtr&lt;SerializedScriptValue&gt;, std::unique_ptr&lt;MessagePortChannelArray&gt;) override;
</ins><span class="cx">         virtual bool hasPendingActivity() const override;
</span><span class="cx">         virtual void workerObjectDestroyed() override;
</span><span class="cx">         virtual void notifyNetworkStateChange(bool isOnline) override;
</span><span class="lines">@@ -65,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">         // Implementations of WorkerObjectProxy.
</span><span class="cx">         // (Only use these methods in the worker context thread.)
</span><del>-        virtual void postMessageToWorkerObject(PassRefPtr&lt;SerializedScriptValue&gt;, PassOwnPtr&lt;MessagePortChannelArray&gt;) override;
</del><ins>+        virtual void postMessageToWorkerObject(PassRefPtr&lt;SerializedScriptValue&gt;, std::unique_ptr&lt;MessagePortChannelArray&gt;) override;
</ins><span class="cx">         virtual void postExceptionToWorkerObject(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL) override;
</span><span class="cx">         virtual void postConsoleMessageToWorkerObject(MessageSource, MessageLevel, const String&amp; message, int lineNumber, int columnNumber, const String&amp; sourceURL) override;
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerObjectProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerObjectProxy.h (163743 => 163744)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerObjectProxy.h        2014-02-09 07:29:10 UTC (rev 163743)
+++ trunk/Source/WebCore/workers/WorkerObjectProxy.h        2014-02-09 08:18:11 UTC (rev 163744)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WorkerReportingProxy.h&quot;
</span><span class="cx"> #include &quot;MessagePort.h&quot;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><ins>+#include &lt;memory&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     // A proxy to talk to the worker object.
</span><span class="cx">     class WorkerObjectProxy : public WorkerReportingProxy {
</span><span class="cx">     public:
</span><del>-        virtual void postMessageToWorkerObject(PassRefPtr&lt;SerializedScriptValue&gt;, PassOwnPtr&lt;MessagePortChannelArray&gt;) = 0;
</del><ins>+        virtual void postMessageToWorkerObject(PassRefPtr&lt;SerializedScriptValue&gt;, std::unique_ptr&lt;MessagePortChannelArray&gt;) = 0;
</ins><span class="cx"> 
</span><span class="cx">         virtual void confirmMessageFromWorkerObject(bool hasPendingActivity) = 0;
</span><span class="cx">         virtual void reportPendingActivity(bool hasPendingActivity) = 0;
</span></span></pre>
</div>
</div>

</body>
</html>