OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 27 matching lines...) Expand all Loading... |
38 #include "wtf/RefPtr.h" | 38 #include "wtf/RefPtr.h" |
39 | 39 |
40 namespace WebCore { | 40 namespace WebCore { |
41 | 41 |
42 ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper
(WebSocketChannelClient* client) | 42 ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper
(WebSocketChannelClient* client) |
43 : m_client(client) | 43 : m_client(client) |
44 , m_suspended(false) | 44 , m_suspended(false) |
45 { | 45 { |
46 } | 46 } |
47 | 47 |
48 ThreadableWebSocketChannelClientWrapper::~ThreadableWebSocketChannelClientWrappe
r() | 48 PassRefPtr<ThreadableWebSocketChannelClientWrapper> ThreadableWebSocketChannelCl
ientWrapper::create(WebSocketChannelClient* client) |
49 { | 49 { |
50 } | 50 return adoptRef(new ThreadableWebSocketChannelClientWrapper(client)); |
51 | |
52 PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> ThreadableWebSoc
ketChannelClientWrapper::create(WebSocketChannelClient* client) | |
53 { | |
54 return adoptRefWillBeNoop(new ThreadableWebSocketChannelClientWrapper(client
)); | |
55 } | 51 } |
56 | 52 |
57 String ThreadableWebSocketChannelClientWrapper::subprotocol() const | 53 String ThreadableWebSocketChannelClientWrapper::subprotocol() const |
58 { | 54 { |
59 if (m_subprotocol.isEmpty()) | 55 if (m_subprotocol.isEmpty()) |
60 return emptyString(); | 56 return emptyString(); |
61 return String(m_subprotocol); | 57 return String(m_subprotocol); |
62 } | 58 } |
63 | 59 |
64 void ThreadableWebSocketChannelClientWrapper::setSubprotocol(const String& subpr
otocol) | 60 void ThreadableWebSocketChannelClientWrapper::setSubprotocol(const String& subpr
otocol) |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 void ThreadableWebSocketChannelClientWrapper::processPendingTasks() | 144 void ThreadableWebSocketChannelClientWrapper::processPendingTasks() |
149 { | 145 { |
150 if (m_suspended) | 146 if (m_suspended) |
151 return; | 147 return; |
152 Vector<OwnPtr<ExecutionContextTask> > tasks; | 148 Vector<OwnPtr<ExecutionContextTask> > tasks; |
153 tasks.swap(m_pendingTasks); | 149 tasks.swap(m_pendingTasks); |
154 for (Vector<OwnPtr<ExecutionContextTask> >::const_iterator iter = tasks.begi
n(); iter != tasks.end(); ++iter) | 150 for (Vector<OwnPtr<ExecutionContextTask> >::const_iterator iter = tasks.begi
n(); iter != tasks.end(); ++iter) |
155 (*iter)->performTask(0); | 151 (*iter)->performTask(0); |
156 } | 152 } |
157 | 153 |
158 void ThreadableWebSocketChannelClientWrapper::didConnectCallback(ExecutionContex
t* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrap
per) | 154 void ThreadableWebSocketChannelClientWrapper::didConnectCallback(ExecutionContex
t* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wrapper) |
159 { | 155 { |
160 ASSERT_UNUSED(context, !context); | 156 ASSERT_UNUSED(context, !context); |
161 if (wrapper->m_client) | 157 if (wrapper->m_client) |
162 wrapper->m_client->didConnect(); | 158 wrapper->m_client->didConnect(); |
163 } | 159 } |
164 | 160 |
165 void ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback(Executio
nContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrappe
r> wrapper, const String& message) | 161 void ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback(Executio
nContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wrapper,
const String& message) |
166 { | 162 { |
167 ASSERT_UNUSED(context, !context); | 163 ASSERT_UNUSED(context, !context); |
168 if (wrapper->m_client) | 164 if (wrapper->m_client) |
169 wrapper->m_client->didReceiveMessage(message); | 165 wrapper->m_client->didReceiveMessage(message); |
170 } | 166 } |
171 | 167 |
172 void ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback(Execu
tionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWra
pper> wrapper, PassOwnPtr<Vector<char> > binaryData) | 168 void ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback(Execu
tionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wrappe
r, PassOwnPtr<Vector<char> > binaryData) |
173 { | 169 { |
174 ASSERT_UNUSED(context, !context); | 170 ASSERT_UNUSED(context, !context); |
175 if (wrapper->m_client) | 171 if (wrapper->m_client) |
176 wrapper->m_client->didReceiveBinaryData(binaryData); | 172 wrapper->m_client->didReceiveBinaryData(binaryData); |
177 } | 173 } |
178 | 174 |
179 void ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback(Ex
ecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClient
Wrapper> wrapper, unsigned long bufferedAmount) | 175 void ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback(Ex
ecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wra
pper, unsigned long bufferedAmount) |
180 { | 176 { |
181 ASSERT_UNUSED(context, !context); | 177 ASSERT_UNUSED(context, !context); |
182 if (wrapper->m_client) | 178 if (wrapper->m_client) |
183 wrapper->m_client->didUpdateBufferedAmount(bufferedAmount); | 179 wrapper->m_client->didUpdateBufferedAmount(bufferedAmount); |
184 } | 180 } |
185 | 181 |
186 void ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback(E
xecutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClien
tWrapper> wrapper) | 182 void ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback(E
xecutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wr
apper) |
187 { | 183 { |
188 ASSERT_UNUSED(context, !context); | 184 ASSERT_UNUSED(context, !context); |
189 if (wrapper->m_client) | 185 if (wrapper->m_client) |
190 wrapper->m_client->didStartClosingHandshake(); | 186 wrapper->m_client->didStartClosingHandshake(); |
191 } | 187 } |
192 | 188 |
193 void ThreadableWebSocketChannelClientWrapper::didCloseCallback(ExecutionContext*
context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> wrappe
r, unsigned long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandsha
keCompletionStatus closingHandshakeCompletion, unsigned short code, const String
& reason) | 189 void ThreadableWebSocketChannelClientWrapper::didCloseCallback(ExecutionContext*
context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wrapper, unsigned
long unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletion
Status closingHandshakeCompletion, unsigned short code, const String& reason) |
194 { | 190 { |
195 ASSERT_UNUSED(context, !context); | 191 ASSERT_UNUSED(context, !context); |
196 if (wrapper->m_client) | 192 if (wrapper->m_client) |
197 wrapper->m_client->didClose(unhandledBufferedAmount, closingHandshakeCom
pletion, code, reason); | 193 wrapper->m_client->didClose(unhandledBufferedAmount, closingHandshakeCom
pletion, code, reason); |
198 } | 194 } |
199 | 195 |
200 void ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback(Exe
cutionContext* context, PassRefPtrWillBeRawPtr<ThreadableWebSocketChannelClientW
rapper> wrapper) | 196 void ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback(Exe
cutionContext* context, PassRefPtr<ThreadableWebSocketChannelClientWrapper> wrap
per) |
201 { | 197 { |
202 ASSERT_UNUSED(context, !context); | 198 ASSERT_UNUSED(context, !context); |
203 if (wrapper->m_client) | 199 if (wrapper->m_client) |
204 wrapper->m_client->didReceiveMessageError(); | 200 wrapper->m_client->didReceiveMessageError(); |
205 } | 201 } |
206 | 202 |
207 } // namespace WebCore | 203 } // namespace WebCore |
OLD | NEW |