Commit Graph

148 Commits

Author SHA1 Message Date
Jacek Caban 9b4267b04d jscript: Support enumerating own properties.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Alexandre Julliard 784b3f611a jscript: Consistently use wcscmp() instead of lstrcmpW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:49:04 +02:00
Alexandre Julliard 29ea8b42db jscript: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 11:15:24 +02:00
Michael Stefaniuc ef64f27632 jscript: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-10 18:58:59 +02:00
Thomas Faber 88a6936d40 jscript: Fix MSVC build.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:19:41 +02:00
Jacek Caban ff829f0beb jscript: Support setting accessor property value.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:12 +02:00
Jacek Caban 887840a888 jscript: Move handling PROPF_WRITABLE to property type specific code.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:10 +02:00
Jacek Caban fd91fe52b7 jscript: Support getting value of accessor property.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:08 +02:00
Jacek Caban d8aa26f660 jscript: Support accessor properties in getOwnPropertyDescriptor.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:06 +02:00
Jacek Caban f732bfc50e jscript: Added support for accessor properties in defineProperty.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:12 +02:00
Jacek Caban 599769f857 jscript: Use jsdisp_define_property to set prototype constructors.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:07 +02:00
Jacek Caban 827f45901d jscript: Get rid of no longer used jsdisp_propput_const.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:25:38 +02:00
Jacek Caban 4555828c57 jscript: Use jsdisp_define_property instead of jsdisp_propput_const.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:26:51 +02:00
Jacek Caban 83de7691c6 jscript: Add Object.defineProperty implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:26:51 +02:00
Jacek Caban fc639fa271 jscript: Use jsdisp_get_own_property in Object.propertyIsEnumerable implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:45 +02:00
Jacek Caban f82bc09f28 jscript: Use jsdisp_get_own_property in Object.hasOwnProperty implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:43 +02:00
Jacek Caban 551e5a77e2 jscript: Added Object.getOwnPropertyDescriptor implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:41 +02:00
Jacek Caban da186c3cc5 jscript: Rename PROPF_ENUM to PROPF_ENUMERABLE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 16:20:42 +02:00
Jacek Caban 6b86fd795c jscript: Use new PROPF_WRITABLE flag instead of PROPF_CONST.
This is closer to how ES5 defines them.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 16:20:40 +02:00
Jacek Caban 197db9cac9 jscript: Use new PROPF_CONFIGURABLE flag instead of PROPF_DONTDELETE.
This is closer to how ES5 defines them.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 16:20:36 +02:00
Jacek Caban a373054b72 jscript: Remove unused prop_put arguments.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 18:43:32 +02:00
Jacek Caban 23e4a530c5 jscript: Remove unused prop_get arguments.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 18:43:29 +02:00
Jacek Caban d95a8b2bb4 jscript: Introduce Wine-specific extension allowing IE9+ JavaScript mode implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:27:23 +01:00
Jacek Caban 2f9c2186cc jscript: Do not pass DISPATCH_JSCRIPT_CALLEREXECSSOURCE flag for calls across different script contexts.
Fixes regression in calls between different contexts. Spotted by Nikolay.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-12 16:00:08 +01:00
Jacek Caban abba963006 jscript: Use exprval_t to represent property references passed on JS stack.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:04 -05:00
Jacek Caban e641469f9f jscript: Set output to undefined in jsval_copy on failure.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 11:59:34 +09:00
Jacek Caban 798ba715e3 jscript: Optimize iface_to_jsdisp by using vtbl comparison.
This is 14% win on SunSpider 0.9 benchmark.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 23:05:14 +09:00
Jacek Caban be37b894a4 jscript: Use IDispatch* as iface_to_jsdisp argument type.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 23:04:53 +09:00
Jacek Caban 6a03b38f33 jscript: Use already running interpreter for eval() execution.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:44 +09:00
Jacek Caban 813609b843 jscript: Use already running interpreter for Function.apply() execution.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:40 +09:00
Jacek Caban 66632091bf jscript: Use already running interpreter for execution of member source function.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:33 +09:00
Jacek Caban 1316403770 jscript: Pass 'this' as jsdisp_t to setters. 2015-02-06 22:20:36 +09:00
Jacek Caban d541b525e4 jscript: Pass 'this' as jsdisp_t to getters. 2015-02-06 22:20:34 +09:00
Jacek Caban b7fae52964 jscript: Use separated functions for implementing builtin call, get and set operation. 2015-02-06 00:28:35 +09:00
Jacek Caban 7e43408eaa jscript: Use DISPATCH_PROPERTYPUTREF flag when setting a property to VT_DISPATCH. 2014-11-28 17:05:50 +01:00
Jacek Caban 02406d4fd4 jscript: Add DISPATCH_PROPERTYGET flag only for DISPATCH_METHOD call in disp_call_value.
Spotted by Qian Hong.
2014-09-16 21:00:30 +02:00
Jacek Caban b11d47fc90 jscript: Use jsstr_flatten to access string buffer in dispex.c. 2013-03-26 12:16:01 +01:00
Jacek Caban 587d007d69 jscript: Use BSTR also for pure IDispatch call in disp_delete_name. 2013-03-11 17:01:47 +01:00
Jacek Caban 7726e01844 jscript: Don't pass 'this' argument to DISPID_VALUE of pure IDispatch interfaces. 2012-12-24 13:33:14 +01:00
Jacek Caban f780ae0f86 jscript: Fixed deleting property by ID from IDispatchEx interface. 2012-12-17 20:31:19 +01:00
Jacek Caban 2d7a3bb482 jscript: Fixed deleting properties by name from IDispatchEx interface. 2012-12-17 20:31:18 +01:00
Jacek Caban 7202f1a32f jscript: Fixed deleting properties of pure dispatch interface. 2012-12-17 20:31:18 +01:00
Jacek Caban 7f07bb9a7a jscript: Fixed deleting nonexisting properties from member expression. 2012-12-17 20:31:16 +01:00
Jacek Caban d9d8c8b716 jscript: Added support for DontDelete attribute and use it for arguments object. 2012-11-30 19:12:15 +01:00
Jacek Caban 466fae6444 jscript: Added disp_delete_name helper and use it in interp_delete. 2012-11-30 19:12:14 +01:00
Jacek Caban e6fc8d9b0c jscript: Added disp_delete helper and use it in interp_delete_ident. 2012-11-30 19:12:14 +01:00
Jacek Caban 6b56c65f8d jscript: Alias arguments properties to real values. 2012-11-30 19:12:14 +01:00
Jacek Caban ac41380b94 jscript: Fixed some Coverity issues. 2012-11-27 17:00:45 +01:00
Jacek Caban 74a83150ab jscript: Fixed leak in disp_propget. 2012-11-09 16:42:47 +01:00
Jacek Caban 78652f7602 jscript: Added propertyIsEnumerable implementation. 2012-11-05 17:44:16 +01:00