JSValue JSFileReader::result(ExecState* exec) const { FileReader* imp = impl(); if (imp->readType() == FileReaderLoader::ReadAsArrayBuffer) return toJS(exec, globalObject(), WTF::getPtr(imp->arrayBufferResult())); return jsOwnedStringOrNull(exec, imp->stringResult()); }
v8::Handle<v8::Value> V8FileReader::resultAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { INC_STATS("DOM.FileReader.result._get"); v8::Handle<v8::Object> holder = info.Holder(); FileReader* imp = V8FileReader::toNative(holder); if (imp->readType() == FileReaderLoader::ReadAsArrayBuffer) return toV8(imp->arrayBufferResult()); return v8StringOrNull(imp->stringResult()); }
void V8FileReader::resultAttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>& info) { v8::Handle<v8::Object> holder = info.Holder(); FileReader* impl = V8FileReader::toImpl(holder); if (impl->readType() == FileReaderLoader::ReadAsArrayBuffer) { v8SetReturnValueFast(info, DOMArrayBuffer::create(impl->arrayBufferResult()), impl); return; } v8SetReturnValueStringOrNull(info, impl->stringResult(), info.GetIsolate()); }