void RTCDataChannel::send(PassRefPtr<ArrayBufferView> data, ExceptionState& exceptionState) { if (!m_handler->sendRawData(static_cast<const char*>(data->baseAddress()), data->byteLength())) { // FIXME: This should not throw an exception but instead forcefully close the data channel. throwCouldNotSendDataException(exceptionState); } }
PassRefPtr<FontFace> FontFace::create(ExecutionContext* context, const AtomicString& family, PassRefPtr<ArrayBufferView> source, const Dictionary& descriptors, ExceptionState& exceptionState) { RefPtr<FontFace> fontFace = adoptRefWillBeRefCountedGarbageCollected<FontFace>(new FontFace()); if (initFontFace(fontFace.get(), context, family, descriptors, exceptionState)) fontFace->initCSSFontFace(static_cast<const unsigned char*>(source->baseAddress()), source->byteLength()); return fontFace.release(); }
void SourceBuffer::appendBuffer(PassRefPtr<DOMArrayBufferView> data, ExceptionState& exceptionState) { WTF_LOG(Media, "SourceBuffer(%p)::appendBuffer size=%u", this, data->byteLength()); // Section 3.2 appendBuffer() // https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html#widl-SourceBuffer-appendBuffer-void-ArrayBufferView-data appendBufferInternal(static_cast<const unsigned char*>(data->baseAddress()), data->byteLength(), exceptionState); }
void SourceBuffer::appendBuffer(PassRefPtr<ArrayBufferView> data, ExceptionState& es) { // Section 3.2 appendBuffer() // https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html#widl-SourceBuffer-appendBuffer-void-ArrayBufferView-data // 1. If data is null then throw an InvalidAccessError exception and abort these steps. if (!data) { es.throwDOMException(InvalidAccessError); return; } appendBufferInternal(static_cast<const unsigned char*>(data->baseAddress()), data->byteLength(), es); }
bool BeaconLoader::sendBeacon(LocalFrame* frame, int allowance, const KURL& beaconURL, PassRefPtr<ArrayBufferView>& data, int& payloadLength) { ASSERT(data); unsigned long long entitySize = data->byteLength(); if (allowance > 0 && static_cast<unsigned long long>(allowance) < entitySize) return false; ResourceRequest request(beaconURL); prepareRequest(frame, request); RefPtr<FormData> entityBody = FormData::create(data->baseAddress(), data->byteLength()); request.setHTTPBody(entityBody.release()); // FIXME: a reasonable choice, but not in the spec; should it give a default? AtomicString contentType = AtomicString("application/octet-stream"); request.setHTTPContentType(contentType); issueRequest(frame, request); payloadLength = entitySize; return true; }
PassRefPtrWillBeRawPtr<FontFace> FontFace::create(ExecutionContext* context, const AtomicString& family, PassRefPtr<DOMArrayBufferView> source, const FontFaceDescriptors& descriptors) { RefPtrWillBeRawPtr<FontFace> fontFace = adoptRefWillBeNoop(new FontFace(context, family, descriptors)); fontFace->initCSSFontFace(static_cast<const unsigned char*>(source->baseAddress()), source->byteLength()); return fontFace.release(); }