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

Side by Side Diff: third_party/WebKit/Source/modules/websockets/DOMWebSocket.cpp

Issue 2325983002: Replace ASSERT*() with DCHECK*() in modules/websockets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove ALLOW_UNUSED_LOCAL() Created 4 years, 2 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 | « no previous file | third_party/WebKit/Source/modules/websockets/DOMWebSocketTest.cpp » ('j') | 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) 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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 : m_state(Active) 71 : m_state(Active)
72 , m_target(target) 72 , m_target(target)
73 , m_resumeTimer(this, &EventQueue::resumeTimerFired) { } 73 , m_resumeTimer(this, &EventQueue::resumeTimerFired) { }
74 74
75 DOMWebSocket::EventQueue::~EventQueue() { stop(); } 75 DOMWebSocket::EventQueue::~EventQueue() { stop(); }
76 76
77 void DOMWebSocket::EventQueue::dispatch(Event* event) 77 void DOMWebSocket::EventQueue::dispatch(Event* event)
78 { 78 {
79 switch (m_state) { 79 switch (m_state) {
80 case Active: 80 case Active:
81 ASSERT(m_events.isEmpty()); 81 DCHECK(m_events.isEmpty());
82 ASSERT(m_target->getExecutionContext()); 82 DCHECK(m_target->getExecutionContext());
83 m_target->dispatchEvent(event); 83 m_target->dispatchEvent(event);
84 break; 84 break;
85 case Suspended: 85 case Suspended:
86 m_events.append(event); 86 m_events.append(event);
87 break; 87 break;
88 case Stopped: 88 case Stopped:
89 ASSERT(m_events.isEmpty()); 89 DCHECK(m_events.isEmpty());
90 // Do nothing. 90 // Do nothing.
91 break; 91 break;
92 } 92 }
93 } 93 }
94 94
95 bool DOMWebSocket::EventQueue::isEmpty() const 95 bool DOMWebSocket::EventQueue::isEmpty() const
96 { 96 {
97 return m_events.isEmpty(); 97 return m_events.isEmpty();
98 } 98 }
99 99
(...skipping 27 matching lines...) Expand all
127 void DOMWebSocket::EventQueue::dispatchQueuedEvents() 127 void DOMWebSocket::EventQueue::dispatchQueuedEvents()
128 { 128 {
129 if (m_state != Active) 129 if (m_state != Active)
130 return; 130 return;
131 131
132 HeapDeque<Member<Event>> events; 132 HeapDeque<Member<Event>> events;
133 events.swap(m_events); 133 events.swap(m_events);
134 while (!events.isEmpty()) { 134 while (!events.isEmpty()) {
135 if (m_state == Stopped || m_state == Suspended) 135 if (m_state == Stopped || m_state == Suspended)
136 break; 136 break;
137 ASSERT(m_state == Active); 137 DCHECK_EQ(m_state, Active);
138 ASSERT(m_target->getExecutionContext()); 138 DCHECK(m_target->getExecutionContext());
139 m_target->dispatchEvent(events.takeFirst()); 139 m_target->dispatchEvent(events.takeFirst());
140 // |this| can be stopped here. 140 // |this| can be stopped here.
141 } 141 }
142 if (m_state == Suspended) { 142 if (m_state == Suspended) {
143 while (!m_events.isEmpty()) 143 while (!m_events.isEmpty())
144 events.append(m_events.takeFirst()); 144 events.append(m_events.takeFirst());
145 events.swap(m_events); 145 events.swap(m_events);
146 } 146 }
147 } 147 }
148 148
149 void DOMWebSocket::EventQueue::resumeTimerFired(TimerBase*) 149 void DOMWebSocket::EventQueue::resumeTimerFired(TimerBase*)
150 { 150 {
151 ASSERT(m_state == Suspended); 151 DCHECK_EQ(m_state, Suspended);
152 m_state = Active; 152 m_state = Active;
153 dispatchQueuedEvents(); 153 dispatchQueuedEvents();
154 } 154 }
155 155
156 DEFINE_TRACE(DOMWebSocket::EventQueue) 156 DEFINE_TRACE(DOMWebSocket::EventQueue)
157 { 157 {
158 visitor->trace(m_target); 158 visitor->trace(m_target);
159 visitor->trace(m_events); 159 visitor->trace(m_events);
160 } 160 }
161 161
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 , m_binaryTypeChangesAfterOpen(0) 231 , m_binaryTypeChangesAfterOpen(0)
232 , m_subprotocol("") 232 , m_subprotocol("")
233 , m_extensions("") 233 , m_extensions("")
234 , m_eventQueue(EventQueue::create(this)) 234 , m_eventQueue(EventQueue::create(this))
235 , m_bufferedAmountConsumeTimer(this, &DOMWebSocket::reflectBufferedAmountCon sumption) 235 , m_bufferedAmountConsumeTimer(this, &DOMWebSocket::reflectBufferedAmountCon sumption)
236 { 236 {
237 } 237 }
238 238
239 DOMWebSocket::~DOMWebSocket() 239 DOMWebSocket::~DOMWebSocket()
240 { 240 {
241 ASSERT(!m_channel); 241 DCHECK(!m_channel);
242 } 242 }
243 243
244 void DOMWebSocket::logError(const String& message) 244 void DOMWebSocket::logError(const String& message)
245 { 245 {
246 if (getExecutionContext()) 246 if (getExecutionContext())
247 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMessag eSource, ErrorMessageLevel, message)); 247 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMessag eSource, ErrorMessageLevel, message));
248 } 248 }
249 249
250 DOMWebSocket* DOMWebSocket::create(ExecutionContext* context, const String& url, ExceptionState& exceptionState) 250 DOMWebSocket* DOMWebSocket::create(ExecutionContext* context, const String& url, ExceptionState& exceptionState)
251 { 251 {
(...skipping 12 matching lines...) Expand all
264 webSocket->suspendIfNeeded(); 264 webSocket->suspendIfNeeded();
265 265
266 if (protocols.isNull()) { 266 if (protocols.isNull()) {
267 Vector<String> protocolsVector; 267 Vector<String> protocolsVector;
268 webSocket->connect(url, protocolsVector, exceptionState); 268 webSocket->connect(url, protocolsVector, exceptionState);
269 } else if (protocols.isString()) { 269 } else if (protocols.isString()) {
270 Vector<String> protocolsVector; 270 Vector<String> protocolsVector;
271 protocolsVector.append(protocols.getAsString()); 271 protocolsVector.append(protocols.getAsString());
272 webSocket->connect(url, protocolsVector, exceptionState); 272 webSocket->connect(url, protocolsVector, exceptionState);
273 } else { 273 } else {
274 ASSERT(protocols.isStringSequence()); 274 DCHECK(protocols.isStringSequence());
275 webSocket->connect(url, protocols.getAsStringSequence(), exceptionState) ; 275 webSocket->connect(url, protocols.getAsStringSequence(), exceptionState) ;
276 } 276 }
277 277
278 if (exceptionState.hadException()) 278 if (exceptionState.hadException())
279 return nullptr; 279 return nullptr;
280 280
281 return webSocket; 281 return webSocket;
282 } 282 }
283 283
284 void DOMWebSocket::connect(const String& url, const Vector<String>& protocols, E xceptionState& exceptionState) 284 void DOMWebSocket::connect(const String& url, const Vector<String>& protocols, E xceptionState& exceptionState)
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 367
368 void DOMWebSocket::updateBufferedAmountAfterClose(uint64_t payloadSize) 368 void DOMWebSocket::updateBufferedAmountAfterClose(uint64_t payloadSize)
369 { 369 {
370 m_bufferedAmountAfterClose += payloadSize; 370 m_bufferedAmountAfterClose += payloadSize;
371 371
372 logError("WebSocket is already in CLOSING or CLOSED state."); 372 logError("WebSocket is already in CLOSING or CLOSED state.");
373 } 373 }
374 374
375 void DOMWebSocket::reflectBufferedAmountConsumption(TimerBase*) 375 void DOMWebSocket::reflectBufferedAmountConsumption(TimerBase*)
376 { 376 {
377 ASSERT(m_bufferedAmount >= m_consumedBufferedAmount); 377 DCHECK_GE(m_bufferedAmount, m_consumedBufferedAmount);
378 // Cast to unsigned long long is required since clang doesn't accept 378 // Cast to unsigned long long is required since clang doesn't accept
379 // combination of %llu and uint64_t (known as unsigned long). 379 // combination of %llu and uint64_t (known as unsigned long).
380 NETWORK_DVLOG(1) << "WebSocket " << this << " reflectBufferedAmountConsumpti on() " << m_bufferedAmount << " => " << (m_bufferedAmount - m_consumedBufferedAm ount); 380 NETWORK_DVLOG(1) << "WebSocket " << this << " reflectBufferedAmountConsumpti on() " << m_bufferedAmount << " => " << (m_bufferedAmount - m_consumedBufferedAm ount);
381 381
382 m_bufferedAmount -= m_consumedBufferedAmount; 382 m_bufferedAmount -= m_consumedBufferedAmount;
383 m_consumedBufferedAmount = 0; 383 m_consumedBufferedAmount = 0;
384 } 384 }
385 385
386 void DOMWebSocket::releaseChannel() 386 void DOMWebSocket::releaseChannel()
387 { 387 {
388 ASSERT(m_channel); 388 DCHECK(m_channel);
389 m_channel->disconnect(); 389 m_channel->disconnect();
390 m_channel = nullptr; 390 m_channel = nullptr;
391 } 391 }
392 392
393 void DOMWebSocket::logBinaryTypeChangesAfterOpen() 393 void DOMWebSocket::logBinaryTypeChangesAfterOpen()
394 { 394 {
395 DEFINE_THREAD_SAFE_STATIC_LOCAL(CustomCountHistogram, binaryTypeChangesHisto gram, new CustomCountHistogram("WebCore.WebSocket.BinaryTypeChangesAfterOpen", 1 , 1024, 10)); 395 DEFINE_THREAD_SAFE_STATIC_LOCAL(CustomCountHistogram, binaryTypeChangesHisto gram, new CustomCountHistogram("WebCore.WebSocket.BinaryTypeChangesAfterOpen", 1 , 1024, 10));
396 DVLOG(3) << "WebSocket " << static_cast<void*>(this) << " logBinaryTypeChang esAfterOpen() logging " << m_binaryTypeChangesAfterOpen; 396 DVLOG(3) << "WebSocket " << static_cast<void*>(this) << " logBinaryTypeChang esAfterOpen() logging " << m_binaryTypeChangesAfterOpen;
397 binaryTypeChangesHistogram.count(m_binaryTypeChangesAfterOpen); 397 binaryTypeChangesHistogram.count(m_binaryTypeChangesAfterOpen);
398 } 398 }
399 399
400 void DOMWebSocket::send(const String& message, ExceptionState& exceptionState) 400 void DOMWebSocket::send(const String& message, ExceptionState& exceptionState)
401 { 401 {
402 CString encodedMessage = message.utf8(); 402 CString encodedMessage = message.utf8();
403 403
404 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending String " << mes sage; 404 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending String " << mes sage;
405 if (m_state == kConnecting) { 405 if (m_state == kConnecting) {
406 setInvalidStateErrorForSendMethod(exceptionState); 406 setInvalidStateErrorForSendMethod(exceptionState);
407 return; 407 return;
408 } 408 }
409 // No exception is raised if the connection was once established but has sub sequently been closed. 409 // No exception is raised if the connection was once established but has sub sequently been closed.
410 if (m_state == kClosing || m_state == kClosed) { 410 if (m_state == kClosing || m_state == kClosed) {
411 updateBufferedAmountAfterClose(encodedMessage.length()); 411 updateBufferedAmountAfterClose(encodedMessage.length());
412 return; 412 return;
413 } 413 }
414 414
415 recordSendTypeHistogram(WebSocketSendTypeString); 415 recordSendTypeHistogram(WebSocketSendTypeString);
416 416
417 ASSERT(m_channel); 417 DCHECK(m_channel);
418 m_bufferedAmount += encodedMessage.length(); 418 m_bufferedAmount += encodedMessage.length();
419 m_channel->send(encodedMessage); 419 m_channel->send(encodedMessage);
420 } 420 }
421 421
422 void DOMWebSocket::send(DOMArrayBuffer* binaryData, ExceptionState& exceptionSta te) 422 void DOMWebSocket::send(DOMArrayBuffer* binaryData, ExceptionState& exceptionSta te)
423 { 423 {
424 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBuffer " < < binaryData; 424 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBuffer " < < binaryData;
425 ASSERT(binaryData && binaryData->buffer()); 425 DCHECK(binaryData);
426 DCHECK(binaryData->buffer());
426 if (m_state == kConnecting) { 427 if (m_state == kConnecting) {
427 setInvalidStateErrorForSendMethod(exceptionState); 428 setInvalidStateErrorForSendMethod(exceptionState);
428 return; 429 return;
429 } 430 }
430 if (m_state == kClosing || m_state == kClosed) { 431 if (m_state == kClosing || m_state == kClosed) {
431 updateBufferedAmountAfterClose(binaryData->byteLength()); 432 updateBufferedAmountAfterClose(binaryData->byteLength());
432 return; 433 return;
433 } 434 }
434 recordSendTypeHistogram(WebSocketSendTypeArrayBuffer); 435 recordSendTypeHistogram(WebSocketSendTypeArrayBuffer);
435 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBuffer, binaryData->byt eLength()); 436 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBuffer, binaryData->byt eLength());
436 ASSERT(m_channel); 437 DCHECK(m_channel);
437 m_bufferedAmount += binaryData->byteLength(); 438 m_bufferedAmount += binaryData->byteLength();
438 m_channel->send(*binaryData, 0, binaryData->byteLength()); 439 m_channel->send(*binaryData, 0, binaryData->byteLength());
439 } 440 }
440 441
441 void DOMWebSocket::send(DOMArrayBufferView* arrayBufferView, ExceptionState& exc eptionState) 442 void DOMWebSocket::send(DOMArrayBufferView* arrayBufferView, ExceptionState& exc eptionState)
442 { 443 {
443 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBufferView " << arrayBufferView; 444 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBufferView " << arrayBufferView;
444 ASSERT(arrayBufferView); 445 DCHECK(arrayBufferView);
445 if (m_state == kConnecting) { 446 if (m_state == kConnecting) {
446 setInvalidStateErrorForSendMethod(exceptionState); 447 setInvalidStateErrorForSendMethod(exceptionState);
447 return; 448 return;
448 } 449 }
449 if (m_state == kClosing || m_state == kClosed) { 450 if (m_state == kClosing || m_state == kClosed) {
450 updateBufferedAmountAfterClose(arrayBufferView->byteLength()); 451 updateBufferedAmountAfterClose(arrayBufferView->byteLength());
451 return; 452 return;
452 } 453 }
453 recordSendTypeHistogram(WebSocketSendTypeArrayBufferView); 454 recordSendTypeHistogram(WebSocketSendTypeArrayBufferView);
454 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBufferView, arrayBuffer View->byteLength()); 455 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBufferView, arrayBuffer View->byteLength());
455 ASSERT(m_channel); 456 DCHECK(m_channel);
456 m_bufferedAmount += arrayBufferView->byteLength(); 457 m_bufferedAmount += arrayBufferView->byteLength();
457 m_channel->send(*arrayBufferView->buffer(), arrayBufferView->byteOffset(), a rrayBufferView->byteLength()); 458 m_channel->send(*arrayBufferView->buffer(), arrayBufferView->byteOffset(), a rrayBufferView->byteLength());
458 } 459 }
459 460
460 void DOMWebSocket::send(Blob* binaryData, ExceptionState& exceptionState) 461 void DOMWebSocket::send(Blob* binaryData, ExceptionState& exceptionState)
461 { 462 {
462 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending Blob " << binar yData->uuid(); 463 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending Blob " << binar yData->uuid();
463 ASSERT(binaryData); 464 DCHECK(binaryData);
464 if (m_state == kConnecting) { 465 if (m_state == kConnecting) {
465 setInvalidStateErrorForSendMethod(exceptionState); 466 setInvalidStateErrorForSendMethod(exceptionState);
466 return; 467 return;
467 } 468 }
468 if (m_state == kClosing || m_state == kClosed) { 469 if (m_state == kClosing || m_state == kClosed) {
469 updateBufferedAmountAfterClose(binaryData->size()); 470 updateBufferedAmountAfterClose(binaryData->size());
470 return; 471 return;
471 } 472 }
472 unsigned long long size = binaryData->size(); 473 unsigned long long size = binaryData->size();
473 recordSendTypeHistogram(WebSocketSendTypeBlob); 474 recordSendTypeHistogram(WebSocketSendTypeBlob);
474 recordSendMessageSizeHistogram(WebSocketSendTypeBlob, clampTo<size_t>(size, 0, kMaxByteSizeForHistogram)); 475 recordSendMessageSizeHistogram(WebSocketSendTypeBlob, clampTo<size_t>(size, 0, kMaxByteSizeForHistogram));
475 m_bufferedAmount += size; 476 m_bufferedAmount += size;
476 ASSERT(m_channel); 477 DCHECK(m_channel);
477 478
478 // When the runtime type of |binaryData| is File, 479 // When the runtime type of |binaryData| is File,
479 // binaryData->blobDataHandle()->size() returns -1. However, in order to 480 // binaryData->blobDataHandle()->size() returns -1. However, in order to
480 // maintain the value of |m_bufferedAmount| correctly, the WebSocket code 481 // maintain the value of |m_bufferedAmount| correctly, the WebSocket code
481 // needs to fix the size of the File at this point. For this reason, 482 // needs to fix the size of the File at this point. For this reason,
482 // construct a new BlobDataHandle here with the size that this method 483 // construct a new BlobDataHandle here with the size that this method
483 // observed. 484 // observed.
484 m_channel->send(BlobDataHandle::create(binaryData->uuid(), binaryData->type( ), size)); 485 m_channel->send(BlobDataHandle::create(binaryData->uuid(), binaryData->type( ), size));
485 } 486 }
486 487
(...skipping 23 matching lines...) Expand all
510 exceptionState.throwDOMException(InvalidAccessError, "The code must be either 1000, or between 3000 and 4999. " + String::number(code) + " is neithe r."); 511 exceptionState.throwDOMException(InvalidAccessError, "The code must be either 1000, or between 3000 and 4999. " + String::number(code) + " is neithe r.");
511 return; 512 return;
512 } 513 }
513 // Bindings specify USVString, so unpaired surrogates are already replac ed with U+FFFD. 514 // Bindings specify USVString, so unpaired surrogates are already replac ed with U+FFFD.
514 CString utf8 = reason.utf8(); 515 CString utf8 = reason.utf8();
515 if (utf8.length() > maxReasonSizeInBytes) { 516 if (utf8.length() > maxReasonSizeInBytes) {
516 exceptionState.throwDOMException(SyntaxError, "The message must not be greater than " + String::number(maxReasonSizeInBytes) + " bytes."); 517 exceptionState.throwDOMException(SyntaxError, "The message must not be greater than " + String::number(maxReasonSizeInBytes) + " bytes.");
517 return; 518 return;
518 } 519 }
519 if (!reason.isEmpty() && !reason.is8Bit()) { 520 if (!reason.isEmpty() && !reason.is8Bit()) {
520 ASSERT(utf8.length() > 0); 521 DCHECK_GT(utf8.length(), 0u);
521 // reason might contain unpaired surrogates. Reconstruct it from 522 // reason might contain unpaired surrogates. Reconstruct it from
522 // utf8. 523 // utf8.
523 cleansedReason = String::fromUTF8(utf8.data(), utf8.length()); 524 cleansedReason = String::fromUTF8(utf8.data(), utf8.length());
524 } 525 }
525 } 526 }
526 527
527 if (m_state == kClosing || m_state == kClosed) 528 if (m_state == kClosing || m_state == kClosed)
528 return; 529 return;
529 if (m_state == kConnecting) { 530 if (m_state == kConnecting) {
530 m_state = kClosing; 531 m_state = kClosing;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 } 567 }
567 568
568 String DOMWebSocket::binaryType() const 569 String DOMWebSocket::binaryType() const
569 { 570 {
570 switch (m_binaryType) { 571 switch (m_binaryType) {
571 case BinaryTypeBlob: 572 case BinaryTypeBlob:
572 return "blob"; 573 return "blob";
573 case BinaryTypeArrayBuffer: 574 case BinaryTypeArrayBuffer:
574 return "arraybuffer"; 575 return "arraybuffer";
575 } 576 }
576 ASSERT_NOT_REACHED(); 577 NOTREACHED();
577 return String(); 578 return String();
578 } 579 }
579 580
580 void DOMWebSocket::setBinaryType(const String& binaryType) 581 void DOMWebSocket::setBinaryType(const String& binaryType)
581 { 582 {
582 if (binaryType == "blob") { 583 if (binaryType == "blob") {
583 setBinaryTypeInternal(BinaryTypeBlob); 584 setBinaryTypeInternal(BinaryTypeBlob);
584 return; 585 return;
585 } 586 }
586 if (binaryType == "arraybuffer") { 587 if (binaryType == "arraybuffer") {
587 setBinaryTypeInternal(BinaryTypeArrayBuffer); 588 setBinaryTypeInternal(BinaryTypeArrayBuffer);
588 return; 589 return;
589 } 590 }
590 ASSERT_NOT_REACHED(); 591 NOTREACHED();
591 } 592 }
592 593
593 void DOMWebSocket::setBinaryTypeInternal(BinaryType binaryType) 594 void DOMWebSocket::setBinaryTypeInternal(BinaryType binaryType)
594 { 595 {
595 if (m_binaryType == binaryType) 596 if (m_binaryType == binaryType)
596 return; 597 return;
597 m_binaryType = binaryType; 598 m_binaryType = binaryType;
598 if (m_state == kOpen || m_state == kClosing) 599 if (m_state == kOpen || m_state == kClosing)
599 ++m_binaryTypeChangesAfterOpen; 600 ++m_binaryTypeChangesAfterOpen;
600 } 601 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 void DOMWebSocket::didError() 696 void DOMWebSocket::didError()
696 { 697 {
697 NETWORK_DVLOG(1) << "WebSocket " << this << " didError()"; 698 NETWORK_DVLOG(1) << "WebSocket " << this << " didError()";
698 m_state = kClosed; 699 m_state = kClosed;
699 logBinaryTypeChangesAfterOpen(); 700 logBinaryTypeChangesAfterOpen();
700 m_eventQueue->dispatch(Event::create(EventTypeNames::error)); 701 m_eventQueue->dispatch(Event::create(EventTypeNames::error));
701 } 702 }
702 703
703 void DOMWebSocket::didConsumeBufferedAmount(uint64_t consumed) 704 void DOMWebSocket::didConsumeBufferedAmount(uint64_t consumed)
704 { 705 {
705 ASSERT(m_bufferedAmount >= consumed + m_consumedBufferedAmount); 706 DCHECK_GE(m_bufferedAmount, consumed + m_consumedBufferedAmount);
706 NETWORK_DVLOG(1) << "WebSocket " << this << " didConsumeBufferedAmount(" << consumed << ")"; 707 NETWORK_DVLOG(1) << "WebSocket " << this << " didConsumeBufferedAmount(" << consumed << ")";
707 if (m_state == kClosed) 708 if (m_state == kClosed)
708 return; 709 return;
709 m_consumedBufferedAmount += consumed; 710 m_consumedBufferedAmount += consumed;
710 if (!m_bufferedAmountConsumeTimer.isActive()) 711 if (!m_bufferedAmountConsumeTimer.isActive())
711 m_bufferedAmountConsumeTimer.startOneShot(0, BLINK_FROM_HERE); 712 m_bufferedAmountConsumeTimer.startOneShot(0, BLINK_FROM_HERE);
712 } 713 }
713 714
714 void DOMWebSocket::didStartClosingHandshake() 715 void DOMWebSocket::didStartClosingHandshake()
715 { 716 {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 DEFINE_TRACE(DOMWebSocket) 796 DEFINE_TRACE(DOMWebSocket)
796 { 797 {
797 visitor->trace(m_channel); 798 visitor->trace(m_channel);
798 visitor->trace(m_eventQueue); 799 visitor->trace(m_eventQueue);
799 WebSocketChannelClient::trace(visitor); 800 WebSocketChannelClient::trace(visitor);
800 EventTargetWithInlineData::trace(visitor); 801 EventTargetWithInlineData::trace(visitor);
801 ActiveDOMObject::trace(visitor); 802 ActiveDOMObject::trace(visitor);
802 } 803 }
803 804
804 } // namespace blink 805 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/modules/websockets/DOMWebSocketTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698