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

Side by Side Diff: Source/modules/websockets/NewWebSocketChannelImpl.h

Issue 461163002: Cleanup namespace usage in Source/core/modules/[mediasource/* to websockets/*] (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 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 unified diff | Download patch
« no previous file with comments | « Source/modules/webmidi/MIDIAccessor.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "wtf/OwnPtr.h" 45 #include "wtf/OwnPtr.h"
46 #include "wtf/PassOwnPtr.h" 46 #include "wtf/PassOwnPtr.h"
47 #include "wtf/PassRefPtr.h" 47 #include "wtf/PassRefPtr.h"
48 #include "wtf/RefPtr.h" 48 #include "wtf/RefPtr.h"
49 #include "wtf/Vector.h" 49 #include "wtf/Vector.h"
50 #include "wtf/text/CString.h" 50 #include "wtf/text/CString.h"
51 #include "wtf/text/WTFString.h" 51 #include "wtf/text/WTFString.h"
52 52
53 namespace blink { 53 namespace blink {
54 54
55 class WebSocketHandshakeRequestInfo;
56 class WebSocketHandshakeResponseInfo;
57
58 } // namespace blink
59
60 namespace blink {
61
62 class Document; 55 class Document;
63 class WebSocketHandshakeRequest; 56 class WebSocketHandshakeRequest;
57 class WebSocketHandshakeRequestInfo;
58 class WebSocketHandshakeResponseInfo;
64 59
65 // This class may replace MainThreadWebSocketChannel. 60 // This class may replace MainThreadWebSocketChannel.
66 class NewWebSocketChannelImpl FINAL : public WebSocketChannel, public blink::Web SocketHandleClient, public ContextLifecycleObserver { 61 class NewWebSocketChannelImpl FINAL : public WebSocketChannel, public WebSocketH andleClient, public ContextLifecycleObserver {
67 public: 62 public:
68 // You can specify the source file and the line number information 63 // You can specify the source file and the line number information
69 // explicitly by passing the last parameter. 64 // explicitly by passing the last parameter.
70 // In the usual case, they are set automatically and you don't have to 65 // In the usual case, they are set automatically and you don't have to
71 // pass it. 66 // pass it.
72 // Specify handle explicitly only in tests. 67 // Specify handle explicitly only in tests.
73 static NewWebSocketChannelImpl* create(ExecutionContext* context, WebSocketC hannelClient* client, const String& sourceURL = String(), unsigned lineNumber = 0, blink::WebSocketHandle *handle = 0) 68 static NewWebSocketChannelImpl* create(ExecutionContext* context, WebSocketC hannelClient* client, const String& sourceURL = String(), unsigned lineNumber = 0, WebSocketHandle *handle = 0)
74 { 69 {
75 return adoptRefCountedGarbageCollected(new NewWebSocketChannelImpl(conte xt, client, sourceURL, lineNumber, handle)); 70 return adoptRefCountedGarbageCollected(new NewWebSocketChannelImpl(conte xt, client, sourceURL, lineNumber, handle));
76 } 71 }
77 virtual ~NewWebSocketChannelImpl(); 72 virtual ~NewWebSocketChannelImpl();
78 73
79 // WebSocketChannel functions. 74 // WebSocketChannel functions.
80 virtual bool connect(const KURL&, const String& protocol) OVERRIDE; 75 virtual bool connect(const KURL&, const String& protocol) OVERRIDE;
81 virtual void send(const String& message) OVERRIDE; 76 virtual void send(const String& message) OVERRIDE;
82 virtual void send(const ArrayBuffer&, unsigned byteOffset, unsigned byteLeng th) OVERRIDE; 77 virtual void send(const ArrayBuffer&, unsigned byteOffset, unsigned byteLeng th) OVERRIDE;
83 virtual void send(PassRefPtr<BlobDataHandle>) OVERRIDE; 78 virtual void send(PassRefPtr<BlobDataHandle>) OVERRIDE;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 String reason; 114 String reason;
120 }; 115 };
121 116
122 struct ReceivedMessage { 117 struct ReceivedMessage {
123 bool isMessageText; 118 bool isMessageText;
124 Vector<char> data; 119 Vector<char> data;
125 }; 120 };
126 121
127 class BlobLoader; 122 class BlobLoader;
128 123
129 NewWebSocketChannelImpl(ExecutionContext*, WebSocketChannelClient*, const St ring&, unsigned, blink::WebSocketHandle*); 124 NewWebSocketChannelImpl(ExecutionContext*, WebSocketChannelClient*, const St ring&, unsigned, WebSocketHandle*);
130 void sendInternal(); 125 void sendInternal();
131 void flowControlIfNecessary(); 126 void flowControlIfNecessary();
132 void failAsError(const String& reason) { fail(reason, ErrorMessageLevel, m_s ourceURLAtConstruction, m_lineNumberAtConstruction); } 127 void failAsError(const String& reason) { fail(reason, ErrorMessageLevel, m_s ourceURLAtConstruction, m_lineNumberAtConstruction); }
133 void abortAsyncOperations(); 128 void abortAsyncOperations();
134 void handleDidClose(bool wasClean, unsigned short code, const String& reason ); 129 void handleDidClose(bool wasClean, unsigned short code, const String& reason );
135 Document* document(); // can be called only when m_identifier > 0. 130 Document* document(); // can be called only when m_identifier > 0.
136 131
137 // WebSocketHandleClient functions. 132 // WebSocketHandleClient functions.
138 virtual void didConnect(blink::WebSocketHandle*, bool fail, const blink::Web String& selectedProtocol, const blink::WebString& extensions) OVERRIDE; 133 virtual void didConnect(WebSocketHandle*, bool fail, const WebString& select edProtocol, const WebString& extensions) OVERRIDE;
139 virtual void didStartOpeningHandshake(blink::WebSocketHandle*, const blink:: WebSocketHandshakeRequestInfo&) OVERRIDE; 134 virtual void didStartOpeningHandshake(WebSocketHandle*, const WebSocketHands hakeRequestInfo&) OVERRIDE;
140 virtual void didFinishOpeningHandshake(blink::WebSocketHandle*, const blink: :WebSocketHandshakeResponseInfo&) OVERRIDE; 135 virtual void didFinishOpeningHandshake(WebSocketHandle*, const WebSocketHand shakeResponseInfo&) OVERRIDE;
141 virtual void didFail(blink::WebSocketHandle*, const blink::WebString& messag e) OVERRIDE; 136 virtual void didFail(WebSocketHandle*, const WebString& message) OVERRIDE;
142 virtual void didReceiveData(blink::WebSocketHandle*, bool fin, blink::WebSoc ketHandle::MessageType, const char* data, size_t /* size */) OVERRIDE; 137 virtual void didReceiveData(WebSocketHandle*, bool fin, WebSocketHandle::Mes sageType, const char* data, size_t /* size */) OVERRIDE;
143 virtual void didClose(blink::WebSocketHandle*, bool wasClean, unsigned short code, const blink::WebString& reason) OVERRIDE; 138 virtual void didClose(WebSocketHandle*, bool wasClean, unsigned short code, const WebString& reason) OVERRIDE;
144 virtual void didReceiveFlowControl(blink::WebSocketHandle*, int64_t quota) O VERRIDE; 139 virtual void didReceiveFlowControl(WebSocketHandle*, int64_t quota) OVERRIDE ;
145 virtual void didStartClosingHandshake(blink::WebSocketHandle*) OVERRIDE; 140 virtual void didStartClosingHandshake(WebSocketHandle*) OVERRIDE;
146 141
147 // Methods for BlobLoader. 142 // Methods for BlobLoader.
148 void didFinishLoadingBlob(PassRefPtr<ArrayBuffer>); 143 void didFinishLoadingBlob(PassRefPtr<ArrayBuffer>);
149 void didFailLoadingBlob(FileError::ErrorCode); 144 void didFailLoadingBlob(FileError::ErrorCode);
150 145
151 // LifecycleObserver functions. 146 // LifecycleObserver functions.
152 virtual void contextDestroyed() OVERRIDE 147 virtual void contextDestroyed() OVERRIDE
153 { 148 {
154 // In oilpan we cannot assume this channel's finalizer has been called 149 // In oilpan we cannot assume this channel's finalizer has been called
155 // before the document it is observing is dead and finalized since there 150 // before the document it is observing is dead and finalized since there
156 // is no eager finalization. Instead the finalization happens at the 151 // is no eager finalization. Instead the finalization happens at the
157 // next GC which could be long enough after the Peer::destroy call for 152 // next GC which could be long enough after the Peer::destroy call for
158 // the context (ie. Document) to be dead too. If the context's finalizer 153 // the context (ie. Document) to be dead too. If the context's finalizer
159 // is run first this method gets called. Instead we assert the channel 154 // is run first this method gets called. Instead we assert the channel
160 // has been disconnected which happens in Peer::destroy. 155 // has been disconnected which happens in Peer::destroy.
161 ASSERT(!m_handle); 156 ASSERT(!m_handle);
162 ASSERT(!m_client); 157 ASSERT(!m_client);
163 ASSERT(!m_identifier); 158 ASSERT(!m_identifier);
164 ContextLifecycleObserver::contextDestroyed(); 159 ContextLifecycleObserver::contextDestroyed();
165 } 160 }
166 161
167 // m_handle is a handle of the connection. 162 // m_handle is a handle of the connection.
168 // m_handle == 0 means this channel is closed. 163 // m_handle == 0 means this channel is closed.
169 OwnPtr<blink::WebSocketHandle> m_handle; 164 OwnPtr<WebSocketHandle> m_handle;
170 165
171 // m_client can be deleted while this channel is alive, but this class 166 // m_client can be deleted while this channel is alive, but this class
172 // expects that disconnect() is called before the deletion. 167 // expects that disconnect() is called before the deletion.
173 Member<WebSocketChannelClient> m_client; 168 Member<WebSocketChannelClient> m_client;
174 KURL m_url; 169 KURL m_url;
175 // m_identifier > 0 means calling scriptContextExecution() returns a Documen t. 170 // m_identifier > 0 means calling scriptContextExecution() returns a Documen t.
176 unsigned long m_identifier; 171 unsigned long m_identifier;
177 Member<BlobLoader> m_blobLoader; 172 Member<BlobLoader> m_blobLoader;
178 Deque<OwnPtr<Message> > m_messages; 173 Deque<OwnPtr<Message> > m_messages;
179 Vector<char> m_receivingMessageData; 174 Vector<char> m_receivingMessageData;
180 175
181 bool m_receivingMessageTypeIsText; 176 bool m_receivingMessageTypeIsText;
182 int64_t m_sendingQuota; 177 int64_t m_sendingQuota;
183 int64_t m_receivedDataSizeForFlowControl; 178 int64_t m_receivedDataSizeForFlowControl;
184 size_t m_sentSizeOfTopMessage; 179 size_t m_sentSizeOfTopMessage;
185 180
186 String m_sourceURLAtConstruction; 181 String m_sourceURLAtConstruction;
187 unsigned m_lineNumberAtConstruction; 182 unsigned m_lineNumberAtConstruction;
188 RefPtr<WebSocketHandshakeRequest> m_handshakeRequest; 183 RefPtr<WebSocketHandshakeRequest> m_handshakeRequest;
189 184
190 static const int64_t receivedDataSizeForFlowControlHighWaterMark = 1 << 15; 185 static const int64_t receivedDataSizeForFlowControlHighWaterMark = 1 << 15;
191 }; 186 };
192 187
193 } // namespace blink 188 } // namespace blink
194 189
195 #endif // NewWebSocketChannelImpl_h 190 #endif // NewWebSocketChannelImpl_h
OLDNEW
« no previous file with comments | « Source/modules/webmidi/MIDIAccessor.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698