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; }
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; }
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())); }