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

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: Created 4 years, 3 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(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(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 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMessageSou rce, ErrorMessageLevel, message)); 246 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMessageSou rce, ErrorMessageLevel, message));
247 } 247 }
248 248
249 DOMWebSocket* DOMWebSocket::create(ExecutionContext* context, const String& url, ExceptionState& exceptionState) 249 DOMWebSocket* DOMWebSocket::create(ExecutionContext* context, const String& url, ExceptionState& exceptionState)
250 { 250 {
251 StringOrStringSequence protocols; 251 StringOrStringSequence protocols;
(...skipping 11 matching lines...) Expand all
263 webSocket->suspendIfNeeded(); 263 webSocket->suspendIfNeeded();
264 264
265 if (protocols.isNull()) { 265 if (protocols.isNull()) {
266 Vector<String> protocolsVector; 266 Vector<String> protocolsVector;
267 webSocket->connect(url, protocolsVector, exceptionState); 267 webSocket->connect(url, protocolsVector, exceptionState);
268 } else if (protocols.isString()) { 268 } else if (protocols.isString()) {
269 Vector<String> protocolsVector; 269 Vector<String> protocolsVector;
270 protocolsVector.append(protocols.getAsString()); 270 protocolsVector.append(protocols.getAsString());
271 webSocket->connect(url, protocolsVector, exceptionState); 271 webSocket->connect(url, protocolsVector, exceptionState);
272 } else { 272 } else {
273 ASSERT(protocols.isStringSequence()); 273 DCHECK(protocols.isStringSequence());
274 webSocket->connect(url, protocols.getAsStringSequence(), exceptionState) ; 274 webSocket->connect(url, protocols.getAsStringSequence(), exceptionState) ;
275 } 275 }
276 276
277 if (exceptionState.hadException()) 277 if (exceptionState.hadException())
278 return nullptr; 278 return nullptr;
279 279
280 return webSocket; 280 return webSocket;
281 } 281 }
282 282
283 void DOMWebSocket::connect(const String& url, const Vector<String>& protocols, E xceptionState& exceptionState) 283 void DOMWebSocket::connect(const String& url, const Vector<String>& protocols, E xceptionState& exceptionState)
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 360
361 void DOMWebSocket::updateBufferedAmountAfterClose(uint64_t payloadSize) 361 void DOMWebSocket::updateBufferedAmountAfterClose(uint64_t payloadSize)
362 { 362 {
363 m_bufferedAmountAfterClose += payloadSize; 363 m_bufferedAmountAfterClose += payloadSize;
364 364
365 logError("WebSocket is already in CLOSING or CLOSED state."); 365 logError("WebSocket is already in CLOSING or CLOSED state.");
366 } 366 }
367 367
368 void DOMWebSocket::reflectBufferedAmountConsumption(TimerBase*) 368 void DOMWebSocket::reflectBufferedAmountConsumption(TimerBase*)
369 { 369 {
370 ASSERT(m_bufferedAmount >= m_consumedBufferedAmount); 370 DCHECK(m_bufferedAmount >= m_consumedBufferedAmount);
371 // Cast to unsigned long long is required since clang doesn't accept 371 // Cast to unsigned long long is required since clang doesn't accept
372 // combination of %llu and uint64_t (known as unsigned long). 372 // combination of %llu and uint64_t (known as unsigned long).
373 NETWORK_DVLOG(1) << "WebSocket " << this << " reflectBufferedAmountConsumpti on() " << m_bufferedAmount << " => " << (m_bufferedAmount - m_consumedBufferedAm ount); 373 NETWORK_DVLOG(1) << "WebSocket " << this << " reflectBufferedAmountConsumpti on() " << m_bufferedAmount << " => " << (m_bufferedAmount - m_consumedBufferedAm ount);
374 374
375 m_bufferedAmount -= m_consumedBufferedAmount; 375 m_bufferedAmount -= m_consumedBufferedAmount;
376 m_consumedBufferedAmount = 0; 376 m_consumedBufferedAmount = 0;
377 } 377 }
378 378
379 void DOMWebSocket::releaseChannel() 379 void DOMWebSocket::releaseChannel()
380 { 380 {
381 ASSERT(m_channel); 381 DCHECK(m_channel);
382 m_channel->disconnect(); 382 m_channel->disconnect();
383 m_channel = nullptr; 383 m_channel = nullptr;
384 } 384 }
385 385
386 void DOMWebSocket::logBinaryTypeChangesAfterOpen() 386 void DOMWebSocket::logBinaryTypeChangesAfterOpen()
387 { 387 {
388 DEFINE_THREAD_SAFE_STATIC_LOCAL(CustomCountHistogram, binaryTypeChangesHisto gram, new CustomCountHistogram("WebCore.WebSocket.BinaryTypeChangesAfterOpen", 1 , 1024, 10)); 388 DEFINE_THREAD_SAFE_STATIC_LOCAL(CustomCountHistogram, binaryTypeChangesHisto gram, new CustomCountHistogram("WebCore.WebSocket.BinaryTypeChangesAfterOpen", 1 , 1024, 10));
389 DVLOG(3) << "WebSocket " << static_cast<void*>(this) << " logBinaryTypeChang esAfterOpen() logging " << m_binaryTypeChangesAfterOpen; 389 DVLOG(3) << "WebSocket " << static_cast<void*>(this) << " logBinaryTypeChang esAfterOpen() logging " << m_binaryTypeChangesAfterOpen;
390 binaryTypeChangesHistogram.count(m_binaryTypeChangesAfterOpen); 390 binaryTypeChangesHistogram.count(m_binaryTypeChangesAfterOpen);
391 } 391 }
392 392
393 void DOMWebSocket::send(const String& message, ExceptionState& exceptionState) 393 void DOMWebSocket::send(const String& message, ExceptionState& exceptionState)
394 { 394 {
395 CString encodedMessage = message.utf8(); 395 CString encodedMessage = message.utf8();
396 396
397 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending String " << mes sage; 397 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending String " << mes sage;
398 if (m_state == kConnecting) { 398 if (m_state == kConnecting) {
399 setInvalidStateErrorForSendMethod(exceptionState); 399 setInvalidStateErrorForSendMethod(exceptionState);
400 return; 400 return;
401 } 401 }
402 // No exception is raised if the connection was once established but has sub sequently been closed. 402 // No exception is raised if the connection was once established but has sub sequently been closed.
403 if (m_state == kClosing || m_state == kClosed) { 403 if (m_state == kClosing || m_state == kClosed) {
404 updateBufferedAmountAfterClose(encodedMessage.length()); 404 updateBufferedAmountAfterClose(encodedMessage.length());
405 return; 405 return;
406 } 406 }
407 407
408 recordSendTypeHistogram(WebSocketSendTypeString); 408 recordSendTypeHistogram(WebSocketSendTypeString);
409 409
410 ASSERT(m_channel); 410 DCHECK(m_channel);
411 m_bufferedAmount += encodedMessage.length(); 411 m_bufferedAmount += encodedMessage.length();
412 m_channel->send(encodedMessage); 412 m_channel->send(encodedMessage);
413 } 413 }
414 414
415 void DOMWebSocket::send(DOMArrayBuffer* binaryData, ExceptionState& exceptionSta te) 415 void DOMWebSocket::send(DOMArrayBuffer* binaryData, ExceptionState& exceptionSta te)
416 { 416 {
417 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBuffer " < < binaryData; 417 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBuffer " < < binaryData;
418 ASSERT(binaryData && binaryData->buffer()); 418 DCHECK(binaryData && binaryData->buffer());
419 if (m_state == kConnecting) { 419 if (m_state == kConnecting) {
420 setInvalidStateErrorForSendMethod(exceptionState); 420 setInvalidStateErrorForSendMethod(exceptionState);
421 return; 421 return;
422 } 422 }
423 if (m_state == kClosing || m_state == kClosed) { 423 if (m_state == kClosing || m_state == kClosed) {
424 updateBufferedAmountAfterClose(binaryData->byteLength()); 424 updateBufferedAmountAfterClose(binaryData->byteLength());
425 return; 425 return;
426 } 426 }
427 recordSendTypeHistogram(WebSocketSendTypeArrayBuffer); 427 recordSendTypeHistogram(WebSocketSendTypeArrayBuffer);
428 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBuffer, binaryData->byt eLength()); 428 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBuffer, binaryData->byt eLength());
429 ASSERT(m_channel); 429 DCHECK(m_channel);
430 m_bufferedAmount += binaryData->byteLength(); 430 m_bufferedAmount += binaryData->byteLength();
431 m_channel->send(*binaryData, 0, binaryData->byteLength()); 431 m_channel->send(*binaryData, 0, binaryData->byteLength());
432 } 432 }
433 433
434 void DOMWebSocket::send(DOMArrayBufferView* arrayBufferView, ExceptionState& exc eptionState) 434 void DOMWebSocket::send(DOMArrayBufferView* arrayBufferView, ExceptionState& exc eptionState)
435 { 435 {
436 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBufferView " << arrayBufferView; 436 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending ArrayBufferView " << arrayBufferView;
437 ASSERT(arrayBufferView); 437 DCHECK(arrayBufferView);
438 if (m_state == kConnecting) { 438 if (m_state == kConnecting) {
439 setInvalidStateErrorForSendMethod(exceptionState); 439 setInvalidStateErrorForSendMethod(exceptionState);
440 return; 440 return;
441 } 441 }
442 if (m_state == kClosing || m_state == kClosed) { 442 if (m_state == kClosing || m_state == kClosed) {
443 updateBufferedAmountAfterClose(arrayBufferView->byteLength()); 443 updateBufferedAmountAfterClose(arrayBufferView->byteLength());
444 return; 444 return;
445 } 445 }
446 recordSendTypeHistogram(WebSocketSendTypeArrayBufferView); 446 recordSendTypeHistogram(WebSocketSendTypeArrayBufferView);
447 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBufferView, arrayBuffer View->byteLength()); 447 recordSendMessageSizeHistogram(WebSocketSendTypeArrayBufferView, arrayBuffer View->byteLength());
448 ASSERT(m_channel); 448 DCHECK(m_channel);
449 m_bufferedAmount += arrayBufferView->byteLength(); 449 m_bufferedAmount += arrayBufferView->byteLength();
450 m_channel->send(*arrayBufferView->buffer(), arrayBufferView->byteOffset(), a rrayBufferView->byteLength()); 450 m_channel->send(*arrayBufferView->buffer(), arrayBufferView->byteOffset(), a rrayBufferView->byteLength());
451 } 451 }
452 452
453 void DOMWebSocket::send(Blob* binaryData, ExceptionState& exceptionState) 453 void DOMWebSocket::send(Blob* binaryData, ExceptionState& exceptionState)
454 { 454 {
455 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending Blob " << binar yData->uuid(); 455 NETWORK_DVLOG(1) << "WebSocket " << this << " send() Sending Blob " << binar yData->uuid();
456 ASSERT(binaryData); 456 DCHECK(binaryData);
457 if (m_state == kConnecting) { 457 if (m_state == kConnecting) {
458 setInvalidStateErrorForSendMethod(exceptionState); 458 setInvalidStateErrorForSendMethod(exceptionState);
459 return; 459 return;
460 } 460 }
461 if (m_state == kClosing || m_state == kClosed) { 461 if (m_state == kClosing || m_state == kClosed) {
462 updateBufferedAmountAfterClose(binaryData->size()); 462 updateBufferedAmountAfterClose(binaryData->size());
463 return; 463 return;
464 } 464 }
465 unsigned long long size = binaryData->size(); 465 unsigned long long size = binaryData->size();
466 recordSendTypeHistogram(WebSocketSendTypeBlob); 466 recordSendTypeHistogram(WebSocketSendTypeBlob);
467 recordSendMessageSizeHistogram(WebSocketSendTypeBlob, clampTo<size_t>(size, 0, kMaxByteSizeForHistogram)); 467 recordSendMessageSizeHistogram(WebSocketSendTypeBlob, clampTo<size_t>(size, 0, kMaxByteSizeForHistogram));
468 m_bufferedAmount += size; 468 m_bufferedAmount += size;
469 ASSERT(m_channel); 469 DCHECK(m_channel);
470 470
471 // When the runtime type of |binaryData| is File, 471 // When the runtime type of |binaryData| is File,
472 // binaryData->blobDataHandle()->size() returns -1. However, in order to 472 // binaryData->blobDataHandle()->size() returns -1. However, in order to
473 // maintain the value of |m_bufferedAmount| correctly, the WebSocket code 473 // maintain the value of |m_bufferedAmount| correctly, the WebSocket code
474 // needs to fix the size of the File at this point. For this reason, 474 // needs to fix the size of the File at this point. For this reason,
475 // construct a new BlobDataHandle here with the size that this method 475 // construct a new BlobDataHandle here with the size that this method
476 // observed. 476 // observed.
477 m_channel->send(BlobDataHandle::create(binaryData->uuid(), binaryData->type( ), size)); 477 m_channel->send(BlobDataHandle::create(binaryData->uuid(), binaryData->type( ), size));
478 } 478 }
479 479
(...skipping 23 matching lines...) Expand all
503 exceptionState.throwDOMException(InvalidAccessError, "The code must be either 1000, or between 3000 and 4999. " + String::number(code) + " is neithe r."); 503 exceptionState.throwDOMException(InvalidAccessError, "The code must be either 1000, or between 3000 and 4999. " + String::number(code) + " is neithe r.");
504 return; 504 return;
505 } 505 }
506 // Bindings specify USVString, so unpaired surrogates are already replac ed with U+FFFD. 506 // Bindings specify USVString, so unpaired surrogates are already replac ed with U+FFFD.
507 CString utf8 = reason.utf8(); 507 CString utf8 = reason.utf8();
508 if (utf8.length() > maxReasonSizeInBytes) { 508 if (utf8.length() > maxReasonSizeInBytes) {
509 exceptionState.throwDOMException(SyntaxError, "The message must not be greater than " + String::number(maxReasonSizeInBytes) + " bytes."); 509 exceptionState.throwDOMException(SyntaxError, "The message must not be greater than " + String::number(maxReasonSizeInBytes) + " bytes.");
510 return; 510 return;
511 } 511 }
512 if (!reason.isEmpty() && !reason.is8Bit()) { 512 if (!reason.isEmpty() && !reason.is8Bit()) {
513 ASSERT(utf8.length() > 0); 513 DCHECK_LT(utf8.length(), 0u);
hiroshige 2016/09/29 10:48:15 Oh, this should be DCHECK_GT(). Fixed.
514 // reason might contain unpaired surrogates. Reconstruct it from 514 // reason might contain unpaired surrogates. Reconstruct it from
515 // utf8. 515 // utf8.
516 cleansedReason = String::fromUTF8(utf8.data(), utf8.length()); 516 cleansedReason = String::fromUTF8(utf8.data(), utf8.length());
517 } 517 }
518 } 518 }
519 519
520 if (m_state == kClosing || m_state == kClosed) 520 if (m_state == kClosing || m_state == kClosed)
521 return; 521 return;
522 if (m_state == kConnecting) { 522 if (m_state == kConnecting) {
523 m_state = kClosing; 523 m_state = kClosing;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 } 559 }
560 560
561 String DOMWebSocket::binaryType() const 561 String DOMWebSocket::binaryType() const
562 { 562 {
563 switch (m_binaryType) { 563 switch (m_binaryType) {
564 case BinaryTypeBlob: 564 case BinaryTypeBlob:
565 return "blob"; 565 return "blob";
566 case BinaryTypeArrayBuffer: 566 case BinaryTypeArrayBuffer:
567 return "arraybuffer"; 567 return "arraybuffer";
568 } 568 }
569 ASSERT_NOT_REACHED(); 569 NOTREACHED();
570 return String(); 570 return String();
571 } 571 }
572 572
573 void DOMWebSocket::setBinaryType(const String& binaryType) 573 void DOMWebSocket::setBinaryType(const String& binaryType)
574 { 574 {
575 if (binaryType == "blob") { 575 if (binaryType == "blob") {
576 setBinaryTypeInternal(BinaryTypeBlob); 576 setBinaryTypeInternal(BinaryTypeBlob);
577 return; 577 return;
578 } 578 }
579 if (binaryType == "arraybuffer") { 579 if (binaryType == "arraybuffer") {
580 setBinaryTypeInternal(BinaryTypeArrayBuffer); 580 setBinaryTypeInternal(BinaryTypeArrayBuffer);
581 return; 581 return;
582 } 582 }
583 ASSERT_NOT_REACHED(); 583 NOTREACHED();
584 } 584 }
585 585
586 void DOMWebSocket::setBinaryTypeInternal(BinaryType binaryType) 586 void DOMWebSocket::setBinaryTypeInternal(BinaryType binaryType)
587 { 587 {
588 if (m_binaryType == binaryType) 588 if (m_binaryType == binaryType)
589 return; 589 return;
590 m_binaryType = binaryType; 590 m_binaryType = binaryType;
591 if (m_state == kOpen || m_state == kClosing) 591 if (m_state == kOpen || m_state == kClosing)
592 ++m_binaryTypeChangesAfterOpen; 592 ++m_binaryTypeChangesAfterOpen;
593 } 593 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 void DOMWebSocket::didError() 688 void DOMWebSocket::didError()
689 { 689 {
690 NETWORK_DVLOG(1) << "WebSocket " << this << " didError()"; 690 NETWORK_DVLOG(1) << "WebSocket " << this << " didError()";
691 m_state = kClosed; 691 m_state = kClosed;
692 logBinaryTypeChangesAfterOpen(); 692 logBinaryTypeChangesAfterOpen();
693 m_eventQueue->dispatch(Event::create(EventTypeNames::error)); 693 m_eventQueue->dispatch(Event::create(EventTypeNames::error));
694 } 694 }
695 695
696 void DOMWebSocket::didConsumeBufferedAmount(uint64_t consumed) 696 void DOMWebSocket::didConsumeBufferedAmount(uint64_t consumed)
697 { 697 {
698 ASSERT(m_bufferedAmount >= consumed + m_consumedBufferedAmount); 698 DCHECK(m_bufferedAmount >= consumed + m_consumedBufferedAmount);
699 NETWORK_DVLOG(1) << "WebSocket " << this << " didConsumeBufferedAmount(" << consumed << ")"; 699 NETWORK_DVLOG(1) << "WebSocket " << this << " didConsumeBufferedAmount(" << consumed << ")";
700 if (m_state == kClosed) 700 if (m_state == kClosed)
701 return; 701 return;
702 m_consumedBufferedAmount += consumed; 702 m_consumedBufferedAmount += consumed;
703 if (!m_bufferedAmountConsumeTimer.isActive()) 703 if (!m_bufferedAmountConsumeTimer.isActive())
704 m_bufferedAmountConsumeTimer.startOneShot(0, BLINK_FROM_HERE); 704 m_bufferedAmountConsumeTimer.startOneShot(0, BLINK_FROM_HERE);
705 } 705 }
706 706
707 void DOMWebSocket::didStartClosingHandshake() 707 void DOMWebSocket::didStartClosingHandshake()
708 { 708 {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 DEFINE_TRACE(DOMWebSocket) 788 DEFINE_TRACE(DOMWebSocket)
789 { 789 {
790 visitor->trace(m_channel); 790 visitor->trace(m_channel);
791 visitor->trace(m_eventQueue); 791 visitor->trace(m_eventQueue);
792 WebSocketChannelClient::trace(visitor); 792 WebSocketChannelClient::trace(visitor);
793 EventTargetWithInlineData::trace(visitor); 793 EventTargetWithInlineData::trace(visitor);
794 ActiveDOMObject::trace(visitor); 794 ActiveDOMObject::trace(visitor);
795 } 795 }
796 796
797 } // namespace blink 797 } // 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