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

Side by Side Diff: Source/modules/websockets/WorkerThreadableWebSocketChannel.cpp

Issue 334873002: [WebSocket] Make subprotocol and extensions live in WebSocket (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 m_bridge->disconnect(); 136 m_bridge->disconnect();
137 } 137 }
138 138
139 bool WorkerThreadableWebSocketChannel::connect(const KURL& url, const String& pr otocol) 139 bool WorkerThreadableWebSocketChannel::connect(const KURL& url, const String& pr otocol)
140 { 140 {
141 if (m_bridge) 141 if (m_bridge)
142 return m_bridge->connect(url, protocol); 142 return m_bridge->connect(url, protocol);
143 return false; 143 return false;
144 } 144 }
145 145
146 String WorkerThreadableWebSocketChannel::subprotocol()
147 {
148 return m_workerClientWrapper->subprotocol();
149 }
150
151 String WorkerThreadableWebSocketChannel::extensions()
152 {
153 return m_workerClientWrapper->extensions();
154 }
155
156 WebSocketChannel::SendResult WorkerThreadableWebSocketChannel::send(const String & message) 146 WebSocketChannel::SendResult WorkerThreadableWebSocketChannel::send(const String & message)
157 { 147 {
158 if (!m_bridge) 148 if (!m_bridge)
159 return WebSocketChannel::SendFail; 149 return WebSocketChannel::SendFail;
160 return m_bridge->send(message); 150 return m_bridge->send(message);
161 } 151 }
162 152
163 WebSocketChannel::SendResult WorkerThreadableWebSocketChannel::send(const ArrayB uffer& binaryData, unsigned byteOffset, unsigned byteLength) 153 WebSocketChannel::SendResult WorkerThreadableWebSocketChannel::send(const ArrayB uffer& binaryData, unsigned byteOffset, unsigned byteLength)
164 { 154 {
165 if (!m_bridge) 155 if (!m_bridge)
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 { 360 {
371 ASSERT(isMainThread()); 361 ASSERT(isMainThread());
372 if (!m_mainWebSocketChannel) 362 if (!m_mainWebSocketChannel)
373 return; 363 return;
374 m_mainWebSocketChannel->resume(); 364 m_mainWebSocketChannel->resume();
375 } 365 }
376 366
377 static void workerGlobalScopeDidConnect(ExecutionContext* context, PassRefPtrWil lBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, const St ring& subprotocol, const String& extensions) 367 static void workerGlobalScopeDidConnect(ExecutionContext* context, PassRefPtrWil lBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, const St ring& subprotocol, const String& extensions)
378 { 368 {
379 ASSERT_UNUSED(context, context->isWorkerGlobalScope()); 369 ASSERT_UNUSED(context, context->isWorkerGlobalScope());
380 workerClientWrapper->setSubprotocol(subprotocol); 370 workerClientWrapper->didConnect(subprotocol, extensions);
381 workerClientWrapper->setExtensions(extensions);
382 workerClientWrapper->didConnect();
383 } 371 }
384 372
385 void WorkerThreadableWebSocketChannel::Peer::didConnect() 373 void WorkerThreadableWebSocketChannel::Peer::didConnect(const String& subprotoco l, const String& extensions)
386 { 374 {
387 ASSERT(isMainThread()); 375 ASSERT(isMainThread());
388 m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalSc opeDidConnect, m_workerClientWrapper.get(), m_mainWebSocketChannel->subprotocol( ), m_mainWebSocketChannel->extensions())); 376 m_loaderProxy.postTaskToWorkerGlobalScope(createCallbackTask(&workerGlobalSc opeDidConnect, m_workerClientWrapper.get(), subprotocol, extensions));
389 } 377 }
390 378
391 static void workerGlobalScopeDidReceiveMessage(ExecutionContext* context, PassRe fPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, c onst String& message) 379 static void workerGlobalScopeDidReceiveMessage(ExecutionContext* context, PassRe fPtrWillBeRawPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper, c onst String& message)
392 { 380 {
393 ASSERT_UNUSED(context, context->isWorkerGlobalScope()); 381 ASSERT_UNUSED(context, context->isWorkerGlobalScope());
394 workerClientWrapper->didReceiveMessage(message); 382 workerClientWrapper->didReceiveMessage(message);
395 } 383 }
396 384
397 void WorkerThreadableWebSocketChannel::Peer::didReceiveMessage(const String& mes sage) 385 void WorkerThreadableWebSocketChannel::Peer::didReceiveMessage(const String& mes sage)
398 { 386 {
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 m_loaderProxy.postTaskToLoader(CallClosureTask::create(bind(&Peer::destroy, m_peer))); 611 m_loaderProxy.postTaskToLoader(CallClosureTask::create(bind(&Peer::destroy, m_peer)));
624 // Peer::destroy() deletes m_peer and then m_syncHelper will be released. 612 // Peer::destroy() deletes m_peer and then m_syncHelper will be released.
625 // We must not touch m_syncHelper any more. 613 // We must not touch m_syncHelper any more.
626 m_syncHelper = 0; 614 m_syncHelper = 0;
627 615
628 // We won't use this any more. 616 // We won't use this any more.
629 m_workerGlobalScope = nullptr; 617 m_workerGlobalScope = nullptr;
630 } 618 }
631 619
632 } // namespace WebCore 620 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/websockets/WorkerThreadableWebSocketChannel.h ('k') | Source/web/WebSocketImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698