Fix a longstanding IndexedDB correctness issue.

Standards Compliance fix, port of Bug 1492737
This commit is contained in:
wolfbeast 2018-11-02 10:32:53 +01:00 committed by Roy Tam
commit 930cc1db3b
5 changed files with 99 additions and 17 deletions

View file

@ -2003,10 +2003,10 @@ JS_GetOwnPropertyDescriptor(JSContext* cx, HandleObject obj, const char* name,
}
JS_PUBLIC_API(bool)
JS_GetOwnUCPropertyDescriptor(JSContext* cx, HandleObject obj, const char16_t* name,
JS_GetOwnUCPropertyDescriptor(JSContext* cx, HandleObject obj, const char16_t* name, size_t namelen,
MutableHandle<PropertyDescriptor> desc)
{
JSAtom* atom = AtomizeChars(cx, name, js_strlen(name));
JSAtom* atom = AtomizeChars(cx, name, namelen);
if (!atom)
return false;
RootedId id(cx, AtomToId(atom));
@ -2028,7 +2028,19 @@ JS_GetPropertyDescriptor(JSContext* cx, HandleObject obj, const char* name,
if (!atom)
return false;
RootedId id(cx, AtomToId(atom));
return atom && JS_GetPropertyDescriptorById(cx, obj, id, desc);
return JS_GetPropertyDescriptorById(cx, obj, id, desc);
}
JS_PUBLIC_API(bool)
JS_GetUCPropertyDescriptor(JSContext* cx, HandleObject obj, const char16_t* name, size_t namelen,
MutableHandle<PropertyDescriptor> desc)
{
JSAtom* atom = AtomizeChars(cx, name, namelen);
if (!atom) {
return false;
}
RootedId id(cx, AtomToId(atom));
return JS_GetPropertyDescriptorById(cx, obj, id, desc);
}
static bool