Пример #1
0
v8::Handle<v8::Value> V8DOMStringMap::namedPropertyGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    INC_STATS("DOM.DOMStringMap.NamedPropertyGetter");
    String value = V8DOMStringMap::toNative(info.Holder())->item(toWebCoreString(name));
    if (value.isNull())
        return v8::Handle<v8::Value>();
    return v8StringOrUndefined(value, info.GetIsolate());
}
Пример #2
0
static v8::Handle<v8::Value> createObjectURL2Callback(const v8::Arguments& args)
{
    INC_STATS("DOM.DOMURL.createObjectURL2");
    if (args.Length() < 1)
        return throwError("Not enough arguments", V8Proxy::TypeError);
    DOMURL* imp = V8DOMURL::toNative(args.Holder());
    EXCEPTION_BLOCK(Blob*, blob, V8Blob::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0);
    return v8StringOrUndefined(imp->createObjectURL(blob));
}
v8::Handle<v8::Value> V8InjectedScriptHost::storageIdMethodCustom(const v8::Arguments& args)
{
    if (args.Length() < 1)
        return v8::Undefined();
    InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
    Storage* storage = V8Storage::toNative(v8::Handle<v8::Object>::Cast(args[0]));
    if (storage)
        return v8StringOrUndefined(host->storageIdImpl(storage), args.GetIsolate());
    return v8::Undefined();
}
v8::Handle<v8::Value> V8InjectedScriptHost::databaseIdCallback(const v8::Arguments& args)
{
    INC_STATS("InjectedScriptHost.databaseId()");
    if (args.Length() < 1)
        return v8::Undefined();
#if ENABLE(SQL_DATABASE)
    InjectedScriptHost* host = V8InjectedScriptHost::toNative(args.Holder());
    Database* database = V8Database::toNative(v8::Handle<v8::Object>::Cast(args[0]));
    if (database)
        return v8StringOrUndefined(host->databaseIdImpl(database), args.GetIsolate());
#endif
    return v8::Undefined();
}
v8::Handle<v8::Value> V8HTMLCanvasElement::toDataURLCallback(const v8::Arguments& args)
{
    double quality = 1.0;
    if (args.Length() > 1) {
        if (args[1]->IsNumber())
            quality = args[1]->NumberValue();
        if (!(0.0 <= quality && quality <= 1.0))
            quality = 1.0;
    }
    v8::Handle<v8::Object> holder = args.Holder();
    HTMLCanvasElement* canvas = V8HTMLCanvasElement::toNative(holder);
    String type = toWebCoreString(args[0]);
    ExceptionCode ec = 0;
    String result = canvas->toDataURL(type, &quality, ec);
    V8Proxy::setDOMException(ec);
    return v8StringOrUndefined(result);
}
Пример #6
0
v8::Handle<v8::Value> V8HTMLCanvasElement::toDataURLCallback(const v8::Arguments& args)
{
    v8::Handle<v8::Object> holder = args.Holder();
    HTMLCanvasElement* canvas = V8HTMLCanvasElement::toNative(holder);
    ExceptionCode ec = 0;

    String type = toWebCoreString(args[0]);
    double quality;
    double* qualityPtr = 0;
    if (args.Length() > 1 && args[1]->IsNumber()) {
        quality = args[1]->NumberValue();
        qualityPtr = &quality;
    }

    String result = canvas->toDataURL(type, qualityPtr, ec);
    setDOMException(ec, args.GetIsolate());
    return v8StringOrUndefined(result, args.GetIsolate());
}
static v8::Handle<v8::Value> effectAllowedAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    Clipboard* imp = V8Clipboard::toNative(info.Holder());
    return v8StringOrUndefined(imp->effectAllowed(), info.GetIsolate());
}
Пример #8
0
static v8::Handle<v8::Value> effectAllowedAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    INC_STATS("DOM.Clipboard.effectAllowed._get");
    Clipboard* imp = V8Clipboard::toNative(info.Holder());
    return v8StringOrUndefined(imp->effectAllowed());
}