Skip to content

Commit af9caa0

Browse files
winesyncMishaProductions
authored andcommitted
[WINESYNC] jscript: Add Object.isExtensible implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 7dadcaf81904265ea76055cb12fe7577922e8c36 by Jacek Caban <jacek@codeweavers.com>
1 parent 2efcbcd commit af9caa0

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

dll/win32/jscript/object.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,12 +694,34 @@ static HRESULT Object_preventExtensions(script_ctx_t *ctx, vdisp_t *jsthis, WORD
694694
return S_OK;
695695
}
696696

697+
static HRESULT Object_isExtensible(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
698+
{
699+
jsdisp_t *obj;
700+
701+
if(!argc || !is_object_instance(argv[0]) || !get_object(argv[0])) {
702+
WARN("argument is not an object\n");
703+
return JS_E_OBJECT_EXPECTED;
704+
}
705+
706+
TRACE("(%s)\n", debugstr_jsval(argv[0]));
707+
708+
obj = to_jsdisp(get_object(argv[0]));
709+
if(!obj) {
710+
FIXME("Non-JS object\n");
711+
return E_NOTIMPL;
712+
}
713+
714+
if(r) *r = jsval_bool(obj->extensible);
715+
return S_OK;
716+
}
717+
697718
static const builtin_prop_t ObjectConstr_props[] = {
698719
{L"create", Object_create, PROPF_ES5|PROPF_METHOD|2},
699720
{L"defineProperties", Object_defineProperties, PROPF_ES5|PROPF_METHOD|2},
700721
{L"defineProperty", Object_defineProperty, PROPF_ES5|PROPF_METHOD|2},
701722
{L"getOwnPropertyDescriptor", Object_getOwnPropertyDescriptor, PROPF_ES5|PROPF_METHOD|2},
702723
{L"getPrototypeOf", Object_getPrototypeOf, PROPF_ES5|PROPF_METHOD|1},
724+
{L"isExtensible", Object_isExtensible, PROPF_ES5|PROPF_METHOD|1},
703725
{L"keys", Object_keys, PROPF_ES5|PROPF_METHOD|1},
704726
{L"preventExtensions", Object_preventExtensions, PROPF_ES5|PROPF_METHOD|1},
705727
};

sdk/tools/winesync/jscript.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ directories:
33
dlls/jscript/tests: modules/rostests/winetests/jscript
44
files: null
55
tags:
6-
wine: 7750753758693cbd09b978dfb53557c3b0715335
6+
wine: 7dadcaf81904265ea76055cb12fe7577922e8c36

0 commit comments

Comments
 (0)