Gabriel Ivăncescu
f858318384
jscript: Handle non-JS objects in Object.getPrototypeOf.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:55:01 +01:00
Gabriel Ivăncescu
b4175eebc0
mshtml/tests: Test for RegExp.prototype.toString with non-regexp.
...
According to the ES6 spec, it should work in generic way for objects exposing
"source" and "flags", but native IE seems to not follow it here and throws.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:54:57 +01:00
Gabriel Ivăncescu
ed55216558
jscript: Throw proper error in Object methods with non-objects args.
...
According to the ES6 spec, they don't throw anymore (compared to ES5),
but native IE seems to not follow it here and throws anyway.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:54:49 +01:00
Gabriel Ivăncescu
9785781fbc
jscript: Implement Object.prototype.__defineSetter__.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:54:44 +01:00
Gabriel Ivăncescu
8eac0fc60a
jscript: Implement Object.prototype.__defineGetter__.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:54:36 +01:00
Gabriel Ivăncescu
fa3095d4d4
mshtml/tests: Add test for setting a prop with same name as a prototype accessor with no setter.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 18:39:29 +01:00
Gabriel Ivăncescu
429325b689
jscript: Don't allow changing prototype on non-extensible objects.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 22:33:30 +01:00
Gabriel Ivăncescu
7858f87ae5
jscript: Throw error when attempting to set circular __proto__ chains.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 22:33:27 +01:00
Gabriel Ivăncescu
364e093ab7
jscript: Make Object.prototype.__proto__ an actual accessor.
...
We have to define it after the constructors are initiated.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 22:33:24 +01:00
Gabriel Ivăncescu
47b02e8c1e
jscript: Return the correct string for Object.toString(undefined) in ES5+ modes.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 22:17:51 +01:00
Gabriel Ivăncescu
598709f872
jscript: Pass jsval "this" to function calls instead of a dispatch.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 22:17:48 +01:00
Gabriel Ivăncescu
22ce4d7ec9
jscript: Return the correct string for Object.toString(null) in ES5+ modes.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 22:17:45 +01:00
Gabriel Ivăncescu
8fa923ca2c
jscript: Pass null jsval to builtin functions instead of the global host.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 22:17:41 +01:00
Pat Leamon
824a7eed53
mshtml: Implement nsIHttpChannel::IsNoCacheReponse.
...
Signed-off-by: Pat Leamon <pleamonhp@yahoo.com.au>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Eric Pouech
e06b668f40
mshtml/tests: Enable compilation with long types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:25 +01:00
Jacek Caban
24c10e700c
mshtml: Post messages asynchronously in IE9+ modes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:41:15 +01:00
Jacek Caban
e3e17965f3
mshtml: Implement IDOMMessageEvent::data property.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:41:15 +01:00
Jacek Caban
223704aaed
mshtml: Add IDOMMessageEvent stub implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:41:15 +01:00
Jacek Caban
680d7e4846
mshtml: Don't try to bind custom events to Gecko event target.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-24 08:49:27 +01:00
Eric Pouech
210abcd81a
mshtml: Enable compilation with long types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 16:34:16 +01:00
Nikolay Sivov
f961e83284
mshtml: Implement layerX/layerY properties for mouse event.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 20:18:10 +01:00
Eric Pouech
88e66e9974
mshtml: Use correct integral type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:19 +01:00
Eric Pouech
bb1fc33570
include/msvcrt: Add attribute((format)) to printf and scanf -like APIs.
...
Fix a bunch of warnings generated by this patch and the migration of
GUID.Data1 to long in ae2693e2c4
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:55 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Gabriel Ivăncescu
89317f533b
mshtml: Fix leak on failure in return_nsstr.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Gabriel Ivăncescu
059848c5cd
mshtml: Fix nsnode leak when cloning.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-07 11:55:27 +01:00
Jacek Caban
d202e4a386
mshtml: Remove duplicate check in get_top_window.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49174
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-05 17:16:42 +01:00
Alex Henrie
4ef2557d87
mshtml: Fix use after free in use_gecko_script (Coverity).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-30 23:09:45 +01:00
Alex Henrie
06e0220ed6
mshtml: Avoid null pointer dereference in OmHistory_get_length (cppcheck).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-21 10:34:21 +01:00
Jacek Caban
b650e768be
mshtml: Fix dispex hooks handling for function objects.
...
Based on patch by Gabriel Ivăncescu.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:18 +01:00
Gabriel Ivăncescu
0e7d1a601c
mshtml: Ignore named and extra arguments when invoking builtin functions.
...
Native just ignores the named and extra arguments completely.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 20:29:59 +01:00
Gabriel Ivăncescu
12ad9b0caf
mshtml: Implement index access for HTMLStyleSheetRulesCollection.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:08 +01:00
Gabriel Ivăncescu
d750a6b394
mshtml: Implement index access for HTMLStyleSheetsCollection.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:08 +01:00
Gabriel Ivăncescu
1417750717
mshtml: Implement value construction for HTMLOptionElementFactory.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:08 +01:00
Gabriel Ivăncescu
f807f74194
mshtml: Fix style attribute removal in IE8 mode.
...
put_cssText implicitly sets the attribute, which must be removed since IE8
specially checks it.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 20:50:28 +01:00
Gabriel Ivăncescu
6f37e50a1d
mshtml: Associate props with attributes for IE8 mode, but keep them stringified.
...
For non-builtin props, getAttribute retrieves the stringified value of the
prop. setAttribute also stringifies the value if it's a builtin only.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 20:50:25 +01:00
Gabriel Ivăncescu
d224a2a881
mshtml: Restructure element removeAttribute.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 20:50:23 +01:00
Gabriel Ivăncescu
368199c640
mshtml: Restructure element getAttribute.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 20:50:20 +01:00
Gabriel Ivăncescu
f41d896618
mshtml: Restructure element setAttribute.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 20:50:17 +01:00
Gabriel Ivăncescu
39a8701dfd
mshtml: Don't populate the props at all on IE9+ modes.
...
For IE9 and up we use proper attribute nodes without associated props.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 10:01:01 +01:00
Gabriel Ivăncescu
f374e9ccc8
mshtml: Stringify attribute values in setAttribute using string hints in IE10+.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-29 23:25:46 +01:00
Gabriel Ivăncescu
f1958583ac
mshtml: Handle VT_DISPATCH in variant_to_nsstr.
...
Some javascript libraries such as prototype.js use this (by setting to an
array) to examine setAttribute quirks.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-25 21:20:31 +01:00
Gabriel Ivăncescu
c1861dc7d0
jscript: Support deletion for accessor, builtin and idx props.
...
IDX props are not configurable, thus they cannot be deleted, so it makes
no sense to special-case them anyway.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 18:48:35 +01:00
Gabriel Ivăncescu
3f135a0611
jscript: Throw when defining a PROTREF prop on a non-extensible object.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 18:48:32 +01:00
Gabriel Ivăncescu
58722dfe35
jscript: Treat prototype refs as non-existent when deleting.
...
Delete only affects own properties.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 18:48:26 +01:00
Gabriel Ivăncescu
c74d8e1744
mshtml: Actually set the return value when removing an attribute.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 20:58:05 +01:00
Gabriel Ivăncescu
6b2c20c6a1
mshtml: Clear the string dprop associated with the builtin attribute when removing it.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 20:58:01 +01:00
Alexandre Julliard
04d8725080
makefiles: Directly generate resources also for non-registered typelibs.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 10:22:51 +01:00
Gabriel Ivăncescu
a5be97d634
mshtml: Implement inline attributes parsing for createElement.
...
We let gecko parse a dummy unknown tag (after validation) using a contextual
fragment, and then copy its attributes to the proper element with correct tag.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 18:56:29 +01:00
Gabriel Ivăncescu
0be2db2ecd
mshtml: Hold a ref to the location on the window side.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-05 17:09:27 +01:00