JSValue jsGeopositionTimestamp(ExecState* exec, JSValue slotBase, const Identifier&)
{
    JSGeoposition* castedThis = static_cast<JSGeoposition*>(asObject(slotBase));
    UNUSED_PARAM(exec);
    Geoposition* imp = static_cast<Geoposition*>(castedThis->impl());
    JSValue result = jsNumber(imp->timestamp());
    return result;
}
JSValue jsGeopositionCoords(ExecState* exec, JSValue slotBase, const Identifier&)
{
    JSGeoposition* castedThis = static_cast<JSGeoposition*>(asObject(slotBase));
    UNUSED_PARAM(exec);
    Geoposition* imp = static_cast<Geoposition*>(castedThis->impl());
    JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->coords()));
    return result;
}
Example #3
0
bool Geolocation::haveSuitableCachedPosition(const PositionOptions& options)
{
    Geoposition* cachedPosition = lastPosition();
    if (!cachedPosition)
        return false;
    if (!options.maximumAge)
        return false;
    DOMTimeStamp currentTimeMillis = convertSecondsToDOMTimeStamp(WallTime::now().secondsSinceEpoch());
    return cachedPosition->timestamp() > currentTimeMillis - options.maximumAge;
}
static v8::Handle<v8::Value> coordsAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    Geoposition* imp = V8Geoposition::toNative(info.Holder());
    RefPtr<Coordinates> result = imp->coords();
    v8::Handle<v8::Value> wrapper = result.get() ? v8::Handle<v8::Value>(DOMDataStore::getWrapper(result.get(), info.GetIsolate())) : v8Undefined();
    if (wrapper.IsEmpty()) {
        wrapper = toV8(result.get(), info.Holder(), info.GetIsolate());
        if (!wrapper.IsEmpty())
            V8DOMWrapper::setNamedHiddenReference(info.Holder(), "coords", wrapper);
    }
    return wrapper;
}
Example #5
0
bool Geolocation::haveSuitableCachedPosition(PositionOptions* options)
{
    Geoposition* cachedPosition = lastPosition();
    if (!cachedPosition)
        return false;
    if (!options->hasMaximumAge())
        return true;
    if (!options->maximumAge())
        return false;
    DOMTimeStamp currentTimeMillis = convertSecondsToDOMTimeStamp(currentTime());
    return cachedPosition->timestamp() > currentTimeMillis - options->maximumAge();
}
static v8::Handle<v8::Value> timestampAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    Geoposition* imp = V8Geoposition::toNative(info.Holder());
    return v8::Number::New(static_cast<double>(imp->timestamp()));
}