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

Side by Side Diff: net/websockets/websocket_job.cc

Issue 10548028: NetLogEventParameter to Callback refactoring 8. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fix bad paste Created 8 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 | Annotate | Revision Log
« no previous file with comments | « net/socket_stream/socket_stream.cc ('k') | net/websockets/websocket_net_log_params.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/websockets/websocket_job.h" 5 #include "net/websockets/websocket_job.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 linked_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock); 390 linked_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock);
391 handshake_request_->GetRequestHeaderBlock( 391 handshake_request_->GetRequestHeaderBlock(
392 socket_->url(), headers.get(), &challenge_); 392 socket_->url(), headers.get(), &challenge_);
393 spdy_websocket_stream_->SendRequest(headers); 393 spdy_websocket_stream_->SendRequest(headers);
394 } else { 394 } else {
395 const std::string& handshake_request = 395 const std::string& handshake_request =
396 handshake_request_->GetRawRequest(); 396 handshake_request_->GetRawRequest();
397 handshake_request_sent_ = 0; 397 handshake_request_sent_ = 0;
398 socket_->net_log()->AddEvent( 398 socket_->net_log()->AddEvent(
399 NetLog::TYPE_WEB_SOCKET_SEND_REQUEST_HEADERS, 399 NetLog::TYPE_WEB_SOCKET_SEND_REQUEST_HEADERS,
400 make_scoped_refptr( 400 base::Bind(&NetLogWebSocketHandshakeCallback, &handshake_request));
401 new NetLogWebSocketHandshakeParameter(handshake_request)));
402 socket_->SendData(handshake_request.data(), 401 socket_->SendData(handshake_request.data(),
403 handshake_request.size()); 402 handshake_request.size());
404 } 403 }
405 // Just buffered in |handshake_request_|. 404 // Just buffered in |handshake_request_|.
406 started_to_send_handshake_request_ = true; 405 started_to_send_handshake_request_ = true;
407 } 406 }
408 407
409 void WebSocketJob::OnSentHandshakeRequest( 408 void WebSocketJob::OnSentHandshakeRequest(
410 SocketStream* socket, int amount_sent) { 409 SocketStream* socket, int amount_sent) {
411 DCHECK_EQ(state_, CONNECTING); 410 DCHECK_EQ(state_, CONNECTING);
(...skipping 20 matching lines...) Expand all
432 received_data_after_handshake_.end(), data, data + len); 431 received_data_after_handshake_.end(), data, data + len);
433 return; 432 return;
434 } 433 }
435 434
436 size_t response_length = handshake_response_->ParseRawResponse(data, len); 435 size_t response_length = handshake_response_->ParseRawResponse(data, len);
437 if (!handshake_response_->HasResponse()) { 436 if (!handshake_response_->HasResponse()) {
438 // not yet. we need more data. 437 // not yet. we need more data.
439 return; 438 return;
440 } 439 }
441 // handshake message is completed. 440 // handshake message is completed.
441 std::string raw_response = handshake_response_->GetRawResponse();
442 socket_->net_log()->AddEvent( 442 socket_->net_log()->AddEvent(
443 NetLog::TYPE_WEB_SOCKET_READ_RESPONSE_HEADERS, 443 NetLog::TYPE_WEB_SOCKET_READ_RESPONSE_HEADERS,
444 make_scoped_refptr(new NetLogWebSocketHandshakeParameter( 444 base::Bind(&NetLogWebSocketHandshakeCallback, &raw_response));
445 handshake_response_->GetRawResponse())));
446 if (len - response_length > 0) { 445 if (len - response_length > 0) {
447 // If we received extra data, it should be frame data. 446 // If we received extra data, it should be frame data.
448 DCHECK(received_data_after_handshake_.empty()); 447 DCHECK(received_data_after_handshake_.empty());
449 received_data_after_handshake_.assign(data + response_length, data + len); 448 received_data_after_handshake_.assign(data + response_length, data + len);
450 } 449 }
451 SaveCookiesAndNotifyHeaderComplete(); 450 SaveCookiesAndNotifyHeaderComplete();
452 } 451 }
453 452
454 void WebSocketJob::SaveCookiesAndNotifyHeaderComplete() { 453 void WebSocketJob::SaveCookiesAndNotifyHeaderComplete() {
455 // handshake message is completed. 454 // handshake message is completed.
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 650
652 scoped_refptr<IOBufferWithSize> next_buffer = send_buffer_queue_.front(); 651 scoped_refptr<IOBufferWithSize> next_buffer = send_buffer_queue_.front();
653 send_buffer_queue_.pop_front(); 652 send_buffer_queue_.pop_front();
654 current_send_buffer_ = new DrainableIOBuffer(next_buffer, 653 current_send_buffer_ = new DrainableIOBuffer(next_buffer,
655 next_buffer->size()); 654 next_buffer->size());
656 SendDataInternal(current_send_buffer_->data(), 655 SendDataInternal(current_send_buffer_->data(),
657 current_send_buffer_->BytesRemaining()); 656 current_send_buffer_->BytesRemaining());
658 } 657 }
659 658
660 } // namespace net 659 } // namespace net
OLDNEW
« no previous file with comments | « net/socket_stream/socket_stream.cc ('k') | net/websockets/websocket_net_log_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698