Index: Source/modules/websockets/MainThreadWebSocketChannel.h |
diff --git a/Source/modules/websockets/MainThreadWebSocketChannel.h b/Source/modules/websockets/MainThreadWebSocketChannel.h |
index 4f5a49917142e54611ae8f2af3aec7e043770e05..d87f3901c7884c52871680cb622d1b2cc6116892 100644 |
--- a/Source/modules/websockets/MainThreadWebSocketChannel.h |
+++ b/Source/modules/websockets/MainThreadWebSocketChannel.h |
@@ -33,6 +33,7 @@ |
#include "core/fileapi/FileReaderLoaderClient.h" |
#include "core/inspector/ScriptCallFrame.h" |
+#include "core/page/ConsoleTypes.h" |
#include "core/platform/Timer.h" |
#include "core/platform/network/SocketStreamHandleClient.h" |
#include "modules/websockets/WebSocketChannel.h" |
@@ -41,6 +42,7 @@ |
#include "modules/websockets/WebSocketHandshake.h" |
#include "wtf/Deque.h" |
#include "wtf/Forward.h" |
+#include "wtf/PassOwnPtr.h" |
#include "wtf/RefCounted.h" |
#include "wtf/Vector.h" |
#include "wtf/text/CString.h" |
@@ -59,6 +61,9 @@ class MainThreadWebSocketChannel : public RefCounted<MainThreadWebSocketChannel> |
WTF_MAKE_FAST_ALLOCATED; |
public: |
static PassRefPtr<MainThreadWebSocketChannel> create(Document* document, WebSocketChannelClient* client) { return adoptRef(new MainThreadWebSocketChannel(document, client)); } |
+ // You can use this create function if you want to specify the source file and the line number information |
+ // at the connection initiation manually. |
+ static PassRefPtr<MainThreadWebSocketChannel> create(Document* document, WebSocketChannelClient* client, const ScriptCallFrame& frame) { return adoptRef(new MainThreadWebSocketChannel(document, client, frame)); } |
virtual ~MainThreadWebSocketChannel(); |
bool send(const char* data, int length); |
@@ -74,7 +79,8 @@ public: |
// Start closing handshake. Use the CloseEventCodeNotSpecified for the code |
// argument to omit payload. |
virtual void close(int code, const String& reason) OVERRIDE; |
- virtual void fail(const String& reason) OVERRIDE; |
+ virtual void fail(const String& reason, MessageLevel) OVERRIDE; |
+ virtual void fail(const String& reason, MessageLevel, PassOwnPtr<CallStackWrapper>) OVERRIDE; |
virtual void disconnect() OVERRIDE; |
virtual void suspend() OVERRIDE; |
@@ -104,6 +110,7 @@ protected: |
private: |
MainThreadWebSocketChannel(Document*, WebSocketChannelClient*); |
+ MainThreadWebSocketChannel(Document*, WebSocketChannelClient*, const ScriptCallFrame&); |
bool appendToBuffer(const char* data, size_t len); |
void skipBuffer(size_t len); |
@@ -111,6 +118,7 @@ private: |
void resumeTimerFired(Timer<MainThreadWebSocketChannel>*); |
void startClosingHandshake(int code, const String& reason); |
void closingTimerFired(Timer<MainThreadWebSocketChannel>*); |
+ void failInternal(); |
bool processFrame(); |
@@ -139,6 +147,7 @@ private: |
void enqueueRawFrame(WebSocketFrame::OpCode, const char* data, size_t dataLength); |
void enqueueBlobFrame(WebSocketFrame::OpCode, const Blob&); |
+ void failAsError(const String& reason) { fail(reason, ErrorMessageLevel); } |
void processOutgoingFrameQueue(); |
void abortOutgoingFrameQueue(); |