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