| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2012 Google Inc. All rights reserved. |    2  * Copyright (C) 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 |    5  * modification, are permitted provided that the following conditions | 
|    6  * are met: |    6  * are met: | 
|    7  * 1.  Redistributions of source code must retain the above copyright |    7  * 1.  Redistributions of source code must retain the above copyright | 
|    8  *     notice, this list of conditions and the following disclaimer. |    8  *     notice, this list of conditions and the following disclaimer. | 
|    9  * 2.  Redistributions in binary form must reproduce the above copyright |    9  * 2.  Redistributions in binary form must reproduce the above copyright | 
|   10  *     notice, this list of conditions and the following disclaimer in the |   10  *     notice, this list of conditions and the following disclaimer in the | 
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  188     if (m_readyState != ReadyStateOpen) { |  188     if (m_readyState != ReadyStateOpen) { | 
|  189         throwNotOpenException(exceptionState); |  189         throwNotOpenException(exceptionState); | 
|  190         return; |  190         return; | 
|  191     } |  191     } | 
|  192     if (!m_handler->sendStringData(data)) { |  192     if (!m_handler->sendStringData(data)) { | 
|  193         // FIXME: This should not throw an exception but instead forcefully clos
     e the data channel. |  193         // FIXME: This should not throw an exception but instead forcefully clos
     e the data channel. | 
|  194         throwCouldNotSendDataException(exceptionState); |  194         throwCouldNotSendDataException(exceptionState); | 
|  195     } |  195     } | 
|  196 } |  196 } | 
|  197  |  197  | 
|  198 void RTCDataChannel::send(DOMArrayBuffer* data, ExceptionState& exceptionState) |  198 void RTCDataChannel::send(PassRefPtr<DOMArrayBuffer> prpData, ExceptionState& ex
     ceptionState) | 
|  199 { |  199 { | 
|  200     if (m_readyState != ReadyStateOpen) { |  200     if (m_readyState != ReadyStateOpen) { | 
|  201         throwNotOpenException(exceptionState); |  201         throwNotOpenException(exceptionState); | 
|  202         return; |  202         return; | 
|  203     } |  203     } | 
|  204  |  204  | 
 |  205     RefPtr<DOMArrayBuffer> data = prpData; | 
 |  206  | 
|  205     size_t dataLength = data->byteLength(); |  207     size_t dataLength = data->byteLength(); | 
|  206     if (!dataLength) |  208     if (!dataLength) | 
|  207         return; |  209         return; | 
|  208  |  210  | 
|  209     if (!m_handler->sendRawData(static_cast<const char*>((data->data())), dataLe
     ngth)) { |  211     if (!m_handler->sendRawData(static_cast<const char*>((data->data())), dataLe
     ngth)) { | 
|  210         // FIXME: This should not throw an exception but instead forcefully clos
     e the data channel. |  212         // FIXME: This should not throw an exception but instead forcefully clos
     e the data channel. | 
|  211         throwCouldNotSendDataException(exceptionState); |  213         throwCouldNotSendDataException(exceptionState); | 
|  212     } |  214     } | 
|  213 } |  215 } | 
|  214  |  216  | 
|  215 void RTCDataChannel::send(DOMArrayBufferView* data, ExceptionState& exceptionSta
     te) |  217 void RTCDataChannel::send(PassRefPtr<DOMArrayBufferView> data, ExceptionState& e
     xceptionState) | 
|  216 { |  218 { | 
|  217     if (!m_handler->sendRawData(static_cast<const char*>(data->baseAddress()), d
     ata->byteLength())) { |  219     if (!m_handler->sendRawData(static_cast<const char*>(data->baseAddress()), d
     ata->byteLength())) { | 
|  218         // FIXME: This should not throw an exception but instead forcefully clos
     e the data channel. |  220         // FIXME: This should not throw an exception but instead forcefully clos
     e the data channel. | 
|  219         throwCouldNotSendDataException(exceptionState); |  221         throwCouldNotSendDataException(exceptionState); | 
|  220     } |  222     } | 
|  221 } |  223 } | 
|  222  |  224  | 
|  223 void RTCDataChannel::send(Blob* data, ExceptionState& exceptionState) |  225 void RTCDataChannel::send(Blob* data, ExceptionState& exceptionState) | 
|  224 { |  226 { | 
|  225     // FIXME: implement |  227     // FIXME: implement | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  263     scheduleDispatchEvent(MessageEvent::create(text)); |  265     scheduleDispatchEvent(MessageEvent::create(text)); | 
|  264 } |  266 } | 
|  265  |  267  | 
|  266 void RTCDataChannel::didReceiveRawData(const char* data, size_t dataLength) |  268 void RTCDataChannel::didReceiveRawData(const char* data, size_t dataLength) | 
|  267 { |  269 { | 
|  268     if (m_binaryType == BinaryTypeBlob) { |  270     if (m_binaryType == BinaryTypeBlob) { | 
|  269         // FIXME: Implement. |  271         // FIXME: Implement. | 
|  270         return; |  272         return; | 
|  271     } |  273     } | 
|  272     if (m_binaryType == BinaryTypeArrayBuffer) { |  274     if (m_binaryType == BinaryTypeArrayBuffer) { | 
|  273         DOMArrayBuffer* buffer = DOMArrayBuffer::create(data, dataLength); |  275         RefPtr<DOMArrayBuffer> buffer = DOMArrayBuffer::create(data, dataLength)
     ; | 
|  274         scheduleDispatchEvent(MessageEvent::create(buffer)); |  276         scheduleDispatchEvent(MessageEvent::create(buffer.release())); | 
|  275         return; |  277         return; | 
|  276     } |  278     } | 
|  277     NOTREACHED(); |  279     NOTREACHED(); | 
|  278 } |  280 } | 
|  279  |  281  | 
|  280 void RTCDataChannel::didDetectError() |  282 void RTCDataChannel::didDetectError() | 
|  281 { |  283 { | 
|  282     scheduleDispatchEvent(Event::create(EventTypeNames::error)); |  284     scheduleDispatchEvent(Event::create(EventTypeNames::error)); | 
|  283 } |  285 } | 
|  284  |  286  | 
| (...skipping 28 matching lines...) Expand all  Loading... | 
|  313 } |  315 } | 
|  314  |  316  | 
|  315 DEFINE_TRACE(RTCDataChannel) |  317 DEFINE_TRACE(RTCDataChannel) | 
|  316 { |  318 { | 
|  317     visitor->trace(m_executionContext); |  319     visitor->trace(m_executionContext); | 
|  318     visitor->trace(m_scheduledEvents); |  320     visitor->trace(m_scheduledEvents); | 
|  319     RefCountedGarbageCollectedEventTargetWithInlineData<RTCDataChannel>::trace(v
     isitor); |  321     RefCountedGarbageCollectedEventTargetWithInlineData<RTCDataChannel>::trace(v
     isitor); | 
|  320 } |  322 } | 
|  321  |  323  | 
|  322 } // namespace blink |  324 } // namespace blink | 
| OLD | NEW |