Exemple #1
0
v8::Handle<v8::Value> V8DOMFormData::appendCallback(const v8::Arguments& args)
{
    if (args.Length() < 2)
        return throwError(v8SyntaxError, "Not enough arguments", args.GetIsolate());

    DOMFormData* domFormData = V8DOMFormData::toNative(args.Holder());

    String name = toWebCoreStringWithNullCheck(args[0]);

    v8::Handle<v8::Value> arg = args[1];
    if (V8Blob::HasInstance(arg)) {
        v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg);
        Blob* blob = V8Blob::toNative(object);
        ASSERT(blob);

        String filename;
        if (args.Length() >= 3 && !args[2]->IsUndefined())
            filename = toWebCoreStringWithNullCheck(args[2]);

        domFormData->append(name, blob, filename);
    } else
        domFormData->append(name, toWebCoreStringWithNullCheck(arg));

    return v8::Undefined();
}
/*
v8::Handle<v8::Value> V8DOMFormData::constructorCallback(const v8::Arguments& args)
{
    INC_STATS("DOM.FormData.Constructor");

    if (!args.IsConstructCall())
        return throwError("DOM object constructor cannot be called as a function.", V8Proxy::SyntaxError);

    HTMLFormElement* form = 0;
    if (args.Length() > 0 && V8HTMLFormElement::HasInstance(args[0]))
        form = V8HTMLFormElement::toNative(args[0]->ToObject());
    RefPtr<DOMFormData> domFormData = DOMFormData::create(form);

    V8DOMWrapper::setDOMWrapper(args.Holder(), &info, domFormData.get());
    return toV8(domFormData.release(), args.Holder());
}
*/
v8::Handle<v8::Value> V8DOMFormData::appendCallback(const v8::Arguments& args)
{
    INC_STATS("DOM.FormData.append()");

    if (args.Length() < 2)
        return throwError("Not enough arguments", V8Proxy::SyntaxError);

    DOMFormData* domFormData = V8DOMFormData::toNative(args.Holder());

    String name = toWebCoreStringWithNullCheck(args[0]);

    v8::Handle<v8::Value> arg = args[1];
    if (V8Blob::HasInstance(arg)) {
        v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg);
        Blob* blob = V8Blob::toNative(object);
        ASSERT(blob);
        domFormData->append(name, blob);
    } else
        domFormData->append(name, toWebCoreStringWithNullCheck(arg));

    return v8::Undefined();
}