From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlobject.c | 28 ++++++++++++++++------------ dlls/mshtml/mshtml_private.h | 2 ++ dlls/mshtml/tests/documentmode.js | 4 ++++ 3 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/dlls/mshtml/htmlobject.c b/dlls/mshtml/htmlobject.c index b75dea24272..05d81ba7892 100644 --- a/dlls/mshtml/htmlobject.c +++ b/dlls/mshtml/htmlobject.c @@ -682,12 +682,14 @@ static const tid_t HTMLObjectElement_iface_tids[] = { HTMLELEMENT_TIDS, 0 }; -static dispex_static_data_t HTMLObjectElement_dispex = { - "HTMLObjectElement", - &HTMLObjectElement_event_target_vtbl.dispex_vtbl, - DispHTMLObjectElement_tid, - HTMLObjectElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLObjectElement_dispex = { + .name = "HTMLObjectElement", + .id = PROT_HTMLObjectElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLObjectElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLObjectElement_tid, + .iface_tids = HTMLObjectElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLObjectElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -887,12 +889,14 @@ static const tid_t HTMLEmbedElement_iface_tids[] = { IHTMLEmbedElement_tid, 0 }; -static dispex_static_data_t HTMLEmbedElement_dispex = { - "HTMLEmbedElement", - &HTMLEmbedElement_event_target_vtbl.dispex_vtbl, - DispHTMLEmbed_tid, - HTMLEmbedElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLEmbedElement_dispex = { + .name = "HTMLEmbedElement", + .id = PROT_HTMLEmbedElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLEmbedElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLEmbed_tid, + .iface_tids = HTMLEmbedElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLEmbedElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 7c92a160ebe..196341a7b7d 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -416,6 +416,7 @@ typedef struct { X(HTMLButtonElement) \ X(HTMLDocument) \ X(HTMLElement) \ + X(HTMLEmbedElement) \ X(HTMLFormElement) \ X(HTMLFrameElement) \ X(HTMLHeadElement) \ @@ -426,6 +427,7 @@ typedef struct { X(HTMLLabelElement) \ X(HTMLLinkElement) \ X(HTMLMetaElement) \ + X(HTMLObjectElement) \ X(HTMLOptionElement) \ X(HTMLTitleElement) \ X(MutationObserver) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 14a651b30e1..597e8e6f8d7 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3176,4 +3176,8 @@ sync_test("prototypes", function() { check(HTMLButtonElement.prototype, HTMLElement.prototype, "button element prototype"); check(document.createElement("link"), HTMLLinkElement.prototype, "link element"); check(HTMLLinkElement.prototype, HTMLElement.prototype, "link element prototype"); + check(document.createElement("object"), HTMLObjectElement.prototype, "object element"); + check(HTMLObjectElement.prototype, HTMLElement.prototype, "object element prototype"); + check(document.createElement("embed"), HTMLEmbedElement.prototype, "embed element"); + check(HTMLEmbedElement.prototype, HTMLElement.prototype, "embed element prototype"); });