diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h | 71 |
1 files changed, 9 insertions, 62 deletions
diff --git a/chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h b/chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h index 0458acf1e18..afb7c9f4707 100644 --- a/chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h +++ b/chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h @@ -31,88 +31,35 @@ #ifndef ThreadableWebSocketChannelClientWrapper_h #define ThreadableWebSocketChannelClientWrapper_h -#include "core/dom/ExecutionContext.h" -#include "modules/websockets/WebSocketChannel.h" #include "modules/websockets/WebSocketChannelClient.h" -#include "modules/websockets/WorkerThreadableWebSocketChannel.h" +#include "platform/heap/Handle.h" #include "wtf/Forward.h" -#include "wtf/OwnPtr.h" #include "wtf/PassOwnPtr.h" -#include "wtf/Threading.h" +#include "wtf/ThreadSafeRefCounted.h" #include "wtf/Vector.h" -#include "wtf/text/WTFString.h" namespace WebCore { -class ExecutionContext; -class WebSocketChannelClient; - -class ThreadableWebSocketChannelClientWrapper : public ThreadSafeRefCounted<ThreadableWebSocketChannelClientWrapper> { +class ThreadableWebSocketChannelClientWrapper : public ThreadSafeRefCountedWillBeGarbageCollected<ThreadableWebSocketChannelClientWrapper> { public: - static PassRefPtr<ThreadableWebSocketChannelClientWrapper> create(ExecutionContext*, WebSocketChannelClient*); - - void clearSyncMethodDone(); - void setSyncMethodDone(); - bool syncMethodDone() const; - - WorkerThreadableWebSocketChannel::Peer* peer() const; - void didCreateWebSocketChannel(WorkerThreadableWebSocketChannel::Peer*); - void clearPeer(); - - bool failedWebSocketChannelCreation() const; - void setFailedWebSocketChannelCreation(); - - // Subprotocol and extensions will be available when didConnect() callback is invoked. - String subprotocol() const; - void setSubprotocol(const String&); - String extensions() const; - void setExtensions(const String&); - - WebSocketChannel::SendResult sendRequestResult() const; - void setSendRequestResult(WebSocketChannel::SendResult); - - unsigned long bufferedAmount() const; - void setBufferedAmount(unsigned long); + static PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> create(WebSocketChannelClient*); void clearClient(); - void didConnect(); + void didConnect(const String& subprotocol, const String& extensions); void didReceiveMessage(const String& message); void didReceiveBinaryData(PassOwnPtr<Vector<char> >); - void didUpdateBufferedAmount(unsigned long bufferedAmount); + void didConsumeBufferedAmount(unsigned long); void didStartClosingHandshake(); - void didClose(unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus, unsigned short code, const String& reason); + void didClose(WebSocketChannelClient::ClosingHandshakeCompletionStatus, unsigned short code, const String& reason); void didReceiveMessageError(); - void suspend(); - void resume(); + void trace(Visitor*) { } private: - ThreadableWebSocketChannelClientWrapper(ExecutionContext*, WebSocketChannelClient*); - - void processPendingTasks(); - - static void didConnectCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>); - static void didReceiveMessageCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>, const String& message); - static void didReceiveBinaryDataCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>, PassOwnPtr<Vector<char> >); - static void didUpdateBufferedAmountCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>, unsigned long bufferedAmount); - static void didStartClosingHandshakeCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>); - static void didCloseCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>, unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus, unsigned short code, const String& reason); - static void processPendingTasksCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>); - static void didReceiveMessageErrorCallback(ExecutionContext*, PassRefPtr<ThreadableWebSocketChannelClientWrapper>); + ThreadableWebSocketChannelClientWrapper(WebSocketChannelClient*); - ExecutionContext* m_context; WebSocketChannelClient* m_client; - WorkerThreadableWebSocketChannel::Peer* m_peer; - bool m_failedWebSocketChannelCreation; - bool m_syncMethodDone; - // ThreadSafeRefCounted must not have String member variables. - Vector<UChar> m_subprotocol; - Vector<UChar> m_extensions; - WebSocketChannel::SendResult m_sendRequestResult; - unsigned long m_bufferedAmount; - bool m_suspended; - Vector<OwnPtr<ExecutionContextTask> > m_pendingTasks; }; } // namespace WebCore |