Index: third_party/WebKit/Source/modules/websockets/WorkerWebSocketChannel.cpp |
diff --git a/third_party/WebKit/Source/modules/websockets/WorkerWebSocketChannel.cpp b/third_party/WebKit/Source/modules/websockets/WorkerWebSocketChannel.cpp |
index 3fe0bd72d77af55abf5a79e3b7bf951071089945..51a29d694bc4371ad5fc9af6a6733199a548225e 100644 |
--- a/third_party/WebKit/Source/modules/websockets/WorkerWebSocketChannel.cpp |
+++ b/third_party/WebKit/Source/modules/websockets/WorkerWebSocketChannel.cpp |
@@ -45,8 +45,10 @@ |
#include "public/platform/Platform.h" |
#include "wtf/Assertions.h" |
#include "wtf/Functional.h" |
+#include "wtf/PtrUtil.h" |
#include "wtf/text/CString.h" |
#include "wtf/text/WTFString.h" |
+#include <memory> |
namespace blink { |
@@ -58,7 +60,7 @@ typedef WorkerWebSocketChannel::Peer Peer; |
// thread. signalWorkerThread() must be called before any getters are called. |
class WebSocketChannelSyncHelper : public GarbageCollectedFinalized<WebSocketChannelSyncHelper> { |
public: |
- static WebSocketChannelSyncHelper* create(PassOwnPtr<WaitableEvent> event) |
+ static WebSocketChannelSyncHelper* create(std::unique_ptr<WaitableEvent> event) |
{ |
return new WebSocketChannelSyncHelper(std::move(event)); |
} |
@@ -93,17 +95,17 @@ public: |
DEFINE_INLINE_TRACE() { } |
private: |
- explicit WebSocketChannelSyncHelper(PassOwnPtr<WaitableEvent> event) |
+ explicit WebSocketChannelSyncHelper(std::unique_ptr<WaitableEvent> event) |
: m_event(std::move(event)) |
, m_connectRequestResult(false) |
{ |
} |
- OwnPtr<WaitableEvent> m_event; |
+ std::unique_ptr<WaitableEvent> m_event; |
bool m_connectRequestResult; |
}; |
-WorkerWebSocketChannel::WorkerWebSocketChannel(WorkerGlobalScope& workerGlobalScope, WebSocketChannelClient* client, PassOwnPtr<SourceLocation> location) |
+WorkerWebSocketChannel::WorkerWebSocketChannel(WorkerGlobalScope& workerGlobalScope, WebSocketChannelClient* client, std::unique_ptr<SourceLocation> location) |
: m_bridge(new Bridge(client, workerGlobalScope)) |
, m_locationAtConnection(std::move(location)) |
{ |
@@ -145,12 +147,12 @@ void WorkerWebSocketChannel::close(int code, const String& reason) |
m_bridge->close(code, reason); |
} |
-void WorkerWebSocketChannel::fail(const String& reason, MessageLevel level, PassOwnPtr<SourceLocation> location) |
+void WorkerWebSocketChannel::fail(const String& reason, MessageLevel level, std::unique_ptr<SourceLocation> location) |
{ |
if (!m_bridge) |
return; |
- OwnPtr<SourceLocation> capturedLocation = SourceLocation::capture(); |
+ std::unique_ptr<SourceLocation> capturedLocation = SourceLocation::capture(); |
if (!capturedLocation->isUnknown()) { |
// If we are in JavaScript context, use the current location instead |
// of passed one - it's more precise. |
@@ -192,7 +194,7 @@ Peer::~Peer() |
DCHECK(isMainThread()); |
} |
-bool Peer::initialize(PassOwnPtr<SourceLocation> location, ExecutionContext* context) |
+bool Peer::initialize(std::unique_ptr<SourceLocation> location, ExecutionContext* context) |
{ |
ASSERT(isMainThread()); |
if (wasContextDestroyedBeforeObserverCreation()) |
@@ -215,14 +217,14 @@ void Peer::connect(const KURL& url, const String& protocol) |
m_syncHelper->signalWorkerThread(); |
} |
-void Peer::sendTextAsCharVector(PassOwnPtr<Vector<char>> data) |
+void Peer::sendTextAsCharVector(std::unique_ptr<Vector<char>> data) |
{ |
ASSERT(isMainThread()); |
if (m_mainWebSocketChannel) |
m_mainWebSocketChannel->sendTextAsCharVector(std::move(data)); |
} |
-void Peer::sendBinaryAsCharVector(PassOwnPtr<Vector<char>> data) |
+void Peer::sendBinaryAsCharVector(std::unique_ptr<Vector<char>> data) |
{ |
ASSERT(isMainThread()); |
if (m_mainWebSocketChannel) |
@@ -245,7 +247,7 @@ void Peer::close(int code, const String& reason) |
m_mainWebSocketChannel->close(code, reason); |
} |
-void Peer::fail(const String& reason, MessageLevel level, PassOwnPtr<SourceLocation> location) |
+void Peer::fail(const String& reason, MessageLevel level, std::unique_ptr<SourceLocation> location) |
{ |
ASSERT(isMainThread()); |
ASSERT(m_syncHelper); |
@@ -291,14 +293,14 @@ void Peer::didReceiveTextMessage(const String& payload) |
m_loaderProxy->postTaskToWorkerGlobalScope(createCrossThreadTask(&workerGlobalScopeDidReceiveTextMessage, m_bridge, payload)); |
} |
-static void workerGlobalScopeDidReceiveBinaryMessage(Bridge* bridge, PassOwnPtr<Vector<char>> payload, ExecutionContext* context) |
+static void workerGlobalScopeDidReceiveBinaryMessage(Bridge* bridge, std::unique_ptr<Vector<char>> payload, ExecutionContext* context) |
{ |
ASSERT_UNUSED(context, context->isWorkerGlobalScope()); |
if (bridge->client()) |
bridge->client()->didReceiveBinaryMessage(std::move(payload)); |
} |
-void Peer::didReceiveBinaryMessage(PassOwnPtr<Vector<char>> payload) |
+void Peer::didReceiveBinaryMessage(std::unique_ptr<Vector<char>> payload) |
{ |
ASSERT(isMainThread()); |
m_loaderProxy->postTaskToWorkerGlobalScope(createCrossThreadTask(&workerGlobalScopeDidReceiveBinaryMessage, m_bridge, passed(std::move(payload)))); |
@@ -382,7 +384,7 @@ Bridge::Bridge(WebSocketChannelClient* client, WorkerGlobalScope& workerGlobalSc |
: m_client(client) |
, m_workerGlobalScope(workerGlobalScope) |
, m_loaderProxy(m_workerGlobalScope->thread()->workerLoaderProxy()) |
- , m_syncHelper(WebSocketChannelSyncHelper::create(adoptPtr(new WaitableEvent()))) |
+ , m_syncHelper(WebSocketChannelSyncHelper::create(wrapUnique(new WaitableEvent()))) |
{ |
} |
@@ -391,7 +393,7 @@ Bridge::~Bridge() |
ASSERT(!m_peer); |
} |
-void Bridge::createPeerOnMainThread(PassOwnPtr<SourceLocation> location, WorkerThreadLifecycleContext* workerThreadLifecycleContext, ExecutionContext* context) |
+void Bridge::createPeerOnMainThread(std::unique_ptr<SourceLocation> location, WorkerThreadLifecycleContext* workerThreadLifecycleContext, ExecutionContext* context) |
{ |
DCHECK(isMainThread()); |
DCHECK(!m_peer); |
@@ -401,7 +403,7 @@ void Bridge::createPeerOnMainThread(PassOwnPtr<SourceLocation> location, WorkerT |
m_syncHelper->signalWorkerThread(); |
} |
-void Bridge::initialize(PassOwnPtr<SourceLocation> location) |
+void Bridge::initialize(std::unique_ptr<SourceLocation> location) |
{ |
// Wait for completion of the task on the main thread because the connection |
// must synchronously be established (see Bridge::connect). |
@@ -427,7 +429,7 @@ bool Bridge::connect(const KURL& url, const String& protocol) |
void Bridge::send(const CString& message) |
{ |
ASSERT(m_peer); |
- OwnPtr<Vector<char>> data = adoptPtr(new Vector<char>(message.length())); |
+ std::unique_ptr<Vector<char>> data = wrapUnique(new Vector<char>(message.length())); |
if (message.length()) |
memcpy(data->data(), static_cast<const char*>(message.data()), message.length()); |
@@ -438,7 +440,7 @@ void Bridge::send(const DOMArrayBuffer& binaryData, unsigned byteOffset, unsigne |
{ |
ASSERT(m_peer); |
// ArrayBuffer isn't thread-safe, hence the content of ArrayBuffer is copied into Vector<char>. |
- OwnPtr<Vector<char>> data = adoptPtr(new Vector<char>(byteLength)); |
+ std::unique_ptr<Vector<char>> data = wrapUnique(new Vector<char>(byteLength)); |
if (binaryData.byteLength()) |
memcpy(data->data(), static_cast<const char*>(binaryData.data()) + byteOffset, byteLength); |
@@ -457,7 +459,7 @@ void Bridge::close(int code, const String& reason) |
m_loaderProxy->postTaskToLoader(createCrossThreadTask(&Peer::close, wrapCrossThreadPersistent(m_peer.get()), code, reason)); |
} |
-void Bridge::fail(const String& reason, MessageLevel level, PassOwnPtr<SourceLocation> location) |
+void Bridge::fail(const String& reason, MessageLevel level, std::unique_ptr<SourceLocation> location) |
{ |
ASSERT(m_peer); |
m_loaderProxy->postTaskToLoader(createCrossThreadTask(&Peer::fail, wrapCrossThreadPersistent(m_peer.get()), reason, level, passed(std::move(location)))); |