Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2047)

Unified Diff: Source/modules/websockets/MainThreadWebSocketChannel.h

Issue 14657008: Make websocket error messages look better at the devtools console. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/websockets/MainThreadWebSocketChannel.h
diff --git a/Source/modules/websockets/MainThreadWebSocketChannel.h b/Source/modules/websockets/MainThreadWebSocketChannel.h
index 4c42c7a16c208c483b77fc471747391269956801..2184f0bb99ab0ca5897bdcbd1e6b808ac8862f51 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"
@@ -42,6 +43,7 @@
#include "modules/websockets/WebSocketPerMessageDeflate.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,7 +61,11 @@ class MainThreadWebSocketChannel : public RefCounted<MainThreadWebSocketChannel>
, public FileReaderLoaderClient {
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassRefPtr<MainThreadWebSocketChannel> create(Document* document, WebSocketChannelClient* client) { return adoptRef(new MainThreadWebSocketChannel(document, client)); }
+ // You can specify the source file and the line number information
+ // explicitly by passing the last parameter.
+ // In the usual case, they are set automatically and you don't have to
+ // pass it.
+ static PassRefPtr<MainThreadWebSocketChannel> create(Document* document, WebSocketChannelClient* client, const ScriptCallFrame& frame = ScriptCallFrame("", "", 0)) { return adoptRef(new MainThreadWebSocketChannel(document, client, frame)); }
virtual ~MainThreadWebSocketChannel();
bool send(const char* data, int length);
@@ -75,7 +81,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,7 +111,7 @@ protected:
virtual void derefWebSocketChannel() OVERRIDE { deref(); }
private:
- MainThreadWebSocketChannel(Document*, WebSocketChannelClient*);
+ MainThreadWebSocketChannel(Document*, WebSocketChannelClient*, const ScriptCallFrame&);
bool appendToBuffer(const char* data, size_t len);
void skipBuffer(size_t len);
@@ -112,6 +119,7 @@ private:
void resumeTimerFired(Timer<MainThreadWebSocketChannel>*);
void startClosingHandshake(int code, const String& reason);
void closingTimerFired(Timer<MainThreadWebSocketChannel>*);
+ void failInternal();
bool processFrame();
@@ -140,6 +148,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();
« no previous file with comments | « Source/WebKit/chromium/src/WebSocketImpl.cpp ('k') | Source/modules/websockets/MainThreadWebSocketChannel.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698