Jacek Caban : jscript: Make Function instance object properties non-writable.

Alexandre Julliard julliard at winehq.org
Thu May 10 18:23:16 CDT 2018


Module: wine
Branch: master
Commit: 7f01473a388529853f1552c15711bdf71c92daa0
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7f01473a388529853f1552c15711bdf71c92daa0

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu May 10 19:20:36 2018 +0200

jscript: Make Function instance object properties non-writable.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/jscript/function.c  | 14 ++++----------
 dlls/mshtml/tests/es5.js |  4 ++++
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c
index ac0640f..af0b9a4 100644
--- a/dlls/jscript/function.c
+++ b/dlls/jscript/function.c
@@ -358,12 +358,6 @@ static HRESULT Function_get_length(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t
     return S_OK;
 }
 
-static HRESULT Function_set_length(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t value)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
 static HRESULT Function_toString(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv,
         jsval_t *r)
 {
@@ -588,9 +582,9 @@ static void Function_destructor(jsdisp_t *dispex)
 
 static const builtin_prop_t Function_props[] = {
     {applyW,                 Function_apply,                 PROPF_METHOD|2},
-    {argumentsW,             NULL, 0,                        Function_get_arguments, builtin_set_const},
+    {argumentsW,             NULL, 0,                        Function_get_arguments},
     {callW,                  Function_call,                  PROPF_METHOD|1},
-    {lengthW,                NULL, 0,                        Function_get_length,    Function_set_length},
+    {lengthW,                NULL, 0,                        Function_get_length},
     {toStringW,              Function_toString,              PROPF_METHOD}
 };
 
@@ -604,8 +598,8 @@ static const builtin_info_t Function_info = {
 };
 
 static const builtin_prop_t FunctionInst_props[] = {
-    {argumentsW,             NULL, 0,                        Function_get_arguments, builtin_set_const},
-    {lengthW,                NULL, 0,                        Function_get_length,    Function_set_length}
+    {argumentsW,             NULL, 0,                        Function_get_arguments},
+    {lengthW,                NULL, 0,                        Function_get_length}
 };
 
 static const builtin_info_t FunctionInst_info = {
diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js
index 1096307..6b84b40 100644
--- a/dlls/mshtml/tests/es5.js
+++ b/dlls/mshtml/tests/es5.js
@@ -174,6 +174,10 @@ function test_getOwnPropertyDescriptor() {
     obj = new Array();
     test_own_data_prop_desc(obj, "length", true, false, false);
 
+    obj = new Function();
+    test_own_data_prop_desc(obj, "length", false, false, false);
+    test_own_data_prop_desc(obj, "arguments", false, false, false);
+
     obj = /test/;
     test_own_data_prop_desc(obj, "lastIndex", true, false, false);
 




More information about the wine-cvs mailing list