[PATCH 1/5] mshtml: Expose IHTMLDOMImplementation2 members in IE9+ modes.
Gabriel Ivăncescu
gabrielopcode at gmail.com
Thu May 19 13:06:35 CDT 2022
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
dlls/mshtml/omnavigator.c | 9 ++++++++-
dlls/mshtml/tests/documentmode.js | 17 +++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index 9962cc2..4385c4c 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -299,6 +299,12 @@ static const IHTMLDOMImplementation2Vtbl HTMLDOMImplementation2Vtbl = {
HTMLDOMImplementation2_hasFeature
};
+static void HTMLDOMImplementation_init_dispex_info(dispex_data_t *info, compat_mode_t compat_mode)
+{
+ if(compat_mode >= COMPAT_MODE_IE9)
+ dispex_info_add_interface(info, IHTMLDOMImplementation2_tid, NULL);
+}
+
static const tid_t HTMLDOMImplementation_iface_tids[] = {
IHTMLDOMImplementation_tid,
0
@@ -307,7 +313,8 @@ static dispex_static_data_t HTMLDOMImplementation_dispex = {
L"DOMImplementation",
NULL,
DispHTMLDOMImplementation_tid,
- HTMLDOMImplementation_iface_tids
+ HTMLDOMImplementation_iface_tids,
+ HTMLDOMImplementation_init_dispex_info
};
HRESULT create_dom_implementation(HTMLDocumentNode *doc_node, IHTMLDOMImplementation **ret)
diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js
index 74e871e..eeeb1c8 100644
--- a/dlls/mshtml/tests/documentmode.js
+++ b/dlls/mshtml/tests/documentmode.js
@@ -364,6 +364,23 @@ sync_test("window_props", function() {
test_exposed("console", v >= 10);
});
+sync_test("domimpl_props", function() {
+ var domimpl = document.implementation;
+ function test_exposed(prop, expect) {
+ if(expect)
+ ok(prop in domimpl, prop + " not found in DOMImplementation.");
+ else
+ ok(!(prop in domimpl), prop + " found in DOMImplementation.");
+ }
+
+ var v = document.documentMode;
+
+ test_exposed("hasFeature", true);
+ test_exposed("createDocument", v >= 9);
+ test_exposed("createDocumentType", v >= 9);
+ test_exposed("createHTMLDocument", v >= 9);
+});
+
sync_test("xhr_props", function() {
var xhr = new XMLHttpRequest();
--
2.34.1
More information about the wine-devel
mailing list