bool JSCArrayBuffer::mimeTypeAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) { struct JSCArrayBufferPrivate* privData = (struct JSCArrayBufferPrivate*)JSObjectGetPrivate(thisObj); JSStringRef stringReflocalMimeType = JSValueToStringCopy(ctx, value, exception); size_t localMimeTypeMaxSize = JSStringGetMaximumUTF8CStringSize(stringReflocalMimeType); char* localMimeTypeBuffer = new char[localMimeTypeMaxSize]; JSStringGetUTF8CString(stringReflocalMimeType, localMimeTypeBuffer, localMimeTypeMaxSize); std::string localMimeType(localMimeTypeBuffer); JSStringRelease(stringReflocalMimeType); free(localMimeTypeBuffer); privData->nativeObj->setMimeType(localMimeType); return true; }
void V8ArrayBuffer::mimeTypeAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) { v8::Local<v8::Object> self = info.Holder(); struct V8ArrayBufferPrivate* privData = V8DOM::toClassPtr<V8ArrayBufferPrivate >(self->GetInternalField(0)); v8::String::AsciiValue localMimeType(value); privData->nativeObj->setMimeType(*localMimeType); }