Module: wine Branch: master Commit: 20007e586ae095cc7749fec33760a46ba4619823 URL: https://source.winehq.org/git/wine.git/?a=commit;h=20007e586ae095cc7749fec33...
Author: Jacek Caban jacek@codeweavers.com Date: Mon May 14 13:33:38 2018 +0200
jscript: Use jsdisp_define_data_property for arguments object properties.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/jscript/function.c | 6 ++++-- dlls/mshtml/tests/es5.js | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c index 040bcc5..5fff9da 100644 --- a/dlls/jscript/function.c +++ b/dlls/jscript/function.c @@ -180,9 +180,11 @@ HRESULT setup_arguments_object(script_ctx_t *ctx, call_frame_t *frame) args->argc = frame->argc; args->frame = frame;
- hres = jsdisp_propput_dontenum(&args->jsdisp, lengthW, jsval_number(args->argc)); + hres = jsdisp_define_data_property(&args->jsdisp, lengthW, PROPF_WRITABLE | PROPF_CONFIGURABLE, + jsval_number(args->argc)); if(SUCCEEDED(hres)) - hres = jsdisp_propput_dontenum(&args->jsdisp, caleeW, jsval_disp(to_disp(&args->function->dispex))); + hres = jsdisp_define_data_property(&args->jsdisp, caleeW, PROPF_WRITABLE | PROPF_CONFIGURABLE, + jsval_obj(&args->function->dispex)); if(SUCCEEDED(hres)) hres = jsdisp_propput(frame->base_scope->jsobj, argumentsW, PROPF_WRITABLE, jsval_obj(&args->jsdisp)); if(FAILED(hres)) { diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js index c2e3e9f..30b464c 100644 --- a/dlls/mshtml/tests/es5.js +++ b/dlls/mshtml/tests/es5.js @@ -190,6 +190,11 @@ function test_getOwnPropertyDescriptor() { test_own_data_prop_desc(obj, "multiline", false, false, false); test_own_data_prop_desc(obj, "source", false, false, false);
+ (function() { + test_own_data_prop_desc(arguments, "length", true, false, true); + test_own_data_prop_desc(arguments, "callee", true, false, true); + })(); + next_test(); }