v8::Handle<v8::Value> V8DirectoryEntrySync::getFileCallback(const v8::Arguments& args) { INC_STATS("DOM.DirectoryEntrySync.getFile"); DirectoryEntrySync* imp = V8DirectoryEntrySync::toNative(args.Holder()); ExceptionCode ec = 0; STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, path, args[0]); RefPtr<WebKitFlags> flags = getFlags(args[1], ec); if (UNLIKELY(ec)) { V8Proxy::setDOMException(ec); return v8::Handle<v8::Value>(); } RefPtr<FileEntrySync> result = imp->getFile(path, flags, ec); if (UNLIKELY(ec)) { V8Proxy::setDOMException(ec); return v8::Handle<v8::Value>(); } return toV8(result.release()); }
static v8::Handle<v8::Value> getFileCallback(const v8::Arguments& args) { if (args.Length() < 2) return throwNotEnoughArgumentsError(args.GetIsolate()); DirectoryEntrySync* imp = V8DirectoryEntrySync::toNative(args.Holder()); ExceptionCode ec = 0; { V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<WithUndefinedOrNullCheck>, path, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)); V8TRYCATCH(Dictionary, flags, Dictionary(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined), args.GetIsolate())); if (!flags.isUndefinedOrNull() && !flags.isObject()) return throwTypeError("Not an object.", args.GetIsolate()); RefPtr<FileEntrySync> result = imp->getFile(path, flags, ec); if (UNLIKELY(ec)) goto fail; return toV8(result.release(), args.Holder(), args.GetIsolate()); } fail: return setDOMException(ec, args.GetIsolate()); }