summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h')
-rw-r--r--chromium/third_party/WebKit/Source/modules/websockets/ThreadableWebSocketChannelClientWrapper.h71
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