Commit graph

1783 commits

Author SHA1 Message Date
Gabriel Ivăncescu 60bddb6b7d mshtml/tests: Accept rare unknown error in ReportResult.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54087
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-12-06 17:11:06 +01:00
Gabriel Ivăncescu a431aa42b0 mshtml/tests: Expect UpdateUI, Exec_UPDATECOMMANDS and Exec_SETTITLE in edit mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53530
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-30 20:48:20 +01:00
Gabriel Ivăncescu 823a4414f2 mshtml/tests: Allow BINDINFO_OPTIONS_ENABLE_UTF8 in bind options.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52910
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-30 20:48:20 +01:00
Gabriel Ivăncescu 8cb7dc2e40 mshtml: Don't lock document mode when querying IEventTarget.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-30 20:48:20 +01:00
Gabriel Ivăncescu 2e4721ac8f jscript: Pass correct 'this' to host objects in ES5 mode.
For some reason, only pure js objects are passed in mshtml's jscript engine.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-30 20:48:20 +01:00
Gabriel Ivăncescu 144479afa1 mshtml: Send load event synchronously for img elements that loaded instantly in legacy modes.
Otherwise, script56.chm's javascript will keep reloading the image and
triggering onload events non-stop. It protects against this using a variable
"noReentry", which is only set temporarily while setting the source, so it
expects it to be triggered synchronously.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53927
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-30 20:48:20 +01:00
Gabriel Ivăncescu b99c89f383 mshtml: Return proper error for invalid selectors in IE8 mode.
More importantly it gets rid of the ERR since such failures are normal.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-28 21:01:55 +01:00
Gabriel Ivăncescu be8bd0e6b0 mshtml: Treat edit mode as a reload.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-28 21:01:55 +01:00
Gabriel Ivăncescu a44ce98d10 mshtml: Implement performance.navigation.type.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-28 21:01:55 +01:00
Gabriel Ivăncescu 2e0a5d429e mshtml: Implement performance.navigation.redirectCount.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-28 21:01:55 +01:00
Gabriel Ivăncescu 12213e13ab mshtml: Implement onload prop for input elements.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-28 21:01:55 +01:00
Gabriel Ivăncescu 2865a5f113 mshtml: Implement location.reload().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53927
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-28 21:01:55 +01:00
Gabriel Ivăncescu 534b977c62 jscript: Throw proper error when calling Set constructor as method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-23 17:59:47 +01:00
Gabriel Ivăncescu 84f7f60192 jscript: Throw proper error when calling Map constructor as method.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-23 17:59:47 +01:00
Gabriel Ivăncescu 8cb5d74125 jscript: Pass correct 'this' to callbacks called by builtins.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-23 17:59:47 +01:00
Gabriel Ivăncescu dd30d429fa mshtml: Implement performance.timing.msFirstPaint.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu 72b13c5ab8 mshtml: Implement performance.timing.loadEventStart & loadEventEnd.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu 35ee108181 mshtml: Implement performance.timing.domContentLoadedEventStart & End.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu e0cda0e147 mshtml: Implement performance.timing.domComplete.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu ac7a3de155 mshtml: Implement performance.timing.domInteractive.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu d0165504be mshtml: Implement performance.timing.domLoading.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu 3de9f679d6 mshtml: Implement performance.timing.responseStart & responseEnd.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu 0118f3608f mshtml: Implement the remaining pre-response performance.timing props.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu 020a020df1 mshtml: Implement performance.timing.unloadEventStart & unloadEventEnd.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu 5db7d0d0ea mshtml: Implement performance.timing.redirectStart.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu fe66c7240a mshtml: Implement performance.timing.navigationStart.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-22 18:27:31 +01:00
Gabriel Ivăncescu f8d4dbd703 mshtml: Implement pagehide event.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-18 17:33:49 +01:00
Gabriel Ivăncescu 570e6b2087 mshtml: Implement unload event.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-18 17:33:49 +01:00
Gabriel Ivăncescu 00dbd769b9 mshtml: Dispatch beforeunload event to the window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-18 17:33:49 +01:00
Gabriel Ivăncescu e2bb4c1b88 mshtml: Implement pageshow event.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-18 17:33:49 +01:00
Gabriel Ivăncescu a85ebbcef1 mshtml: Add visibilitychange event stub.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-18 17:33:49 +01:00
Evan Tang 0ba543acb4 mshtml: Hide things that were removed in IE11. 2022-11-17 16:35:54 +01:00
Evan Tang b45eca88f4 mshtml: Add tests for things removed in IE11.
PS Elements installer needs this, as it picks attachEvent over
addEventListener if it exists, and then tries to use it with a
function that only works with addEventListener (needs the event object
passed)
2022-11-17 16:35:54 +01:00
Gabriel Ivăncescu cc0f443088 mshtml: Handle cNames > 1 in GetIDsOfNames properly.
Native ignores any cNames > 1 and doesn't even fill the dispids for them. Note
that it was already wrong; the multiple dispids are supposed to correspond
to the member's argument names, not extra dispids.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-14 20:10:10 +01:00
Gabriel Ivăncescu 7001705c86 mshtml: Forward IDispatchEx to the document node.
And get rid of the dispex since it's useless now.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-14 20:10:08 +01:00
Gabriel Ivăncescu 0d1309b79b mshtml: Forward toString to the document node.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-14 20:10:08 +01:00
Gabriel Ivăncescu cab7ce5935 mshtml: Expose IEventTarget on HTMLDocumentObj and forward it to the doc node.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-14 20:10:08 +01:00
Gabriel Ivăncescu 7359226ad1 mshtml/tests: Implement IServiceProvider and few other interfaces needed for navigation.
This is to allow to test events and things related to navigating to a new
page. Otherwise, native IE will open a new IE process with the destination.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-14 20:09:55 +01:00
Gabriel Ivăncescu 33c4904363 mshtml: Implement document.importNode.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-07 21:16:10 +01:00
Gabriel Ivăncescu c4e6f04400 mshtml: Implement HTMLLocation_put_hash.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-07 21:16:10 +01:00
Gabriel Ivăncescu 176f5409b1 mshtml: Don't include fragment in storage event's url prop.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-07 21:16:10 +01:00
Gabriel Ivăncescu 08957afe17 mshtml: Improve locale stub for KeyboardEvent.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-07 21:16:10 +01:00
Gabriel Ivăncescu ff4fde9e20 mshtml: Implement isContentEditable for HTML elements.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-07 21:16:10 +01:00
Gabriel Ivăncescu cb078982f4 mshtml/tests: Handle broken localStorage on native.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-11-07 21:16:10 +01:00
Gabriel Ivăncescu c25dfb7965 mshtml: Implement document.mimeType.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-31 21:23:47 +01:00
Gabriel Ivăncescu de2192bbec mshtml: Allow null or undefined func in addEventListener.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-31 21:23:42 +01:00
Gabriel Ivăncescu a3dbd5067b mshtml: Allow null or undefined listeners in attachEvent/detachEvent.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-31 21:23:42 +01:00
Gabriel Ivăncescu 35a6555929 jscript: Implement Function.prototype.bind's thisArg properly.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-17 11:27:04 +02:00
Gabriel Ivăncescu fded20df6c mshtml: Don't create dynamic prop before checking if elem prop even exists.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-13 22:25:06 +02:00
Gabriel Ivăncescu d5c764e8c7 mshtml: Allow accessing some document elements as props via id.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-10-13 22:25:06 +02:00