From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlinput.c | 42 ++++++++++++++++++------------- dlls/mshtml/mshtml_private.h | 3 +++ dlls/mshtml/tests/documentmode.js | 6 +++++ 3 files changed, 33 insertions(+), 18 deletions(-)
diff --git a/dlls/mshtml/htmlinput.c b/dlls/mshtml/htmlinput.c index c031dbff766..f56589bef15 100644 --- a/dlls/mshtml/htmlinput.c +++ b/dlls/mshtml/htmlinput.c @@ -1288,12 +1288,14 @@ static const tid_t HTMLInputElement_iface_tids[] = { IHTMLInputTextElement2_tid, 0 }; -static dispex_static_data_t HTMLInputElement_dispex = { - "HTMLInputElement", - &HTMLInputElement_event_target_vtbl.dispex_vtbl, - DispHTMLInputElement_tid, - HTMLInputElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLInputElement_dispex = { + .name = "HTMLInputElement", + .id = PROT_HTMLInputElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLInputElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLInputElement_tid, + .iface_tids = HTMLInputElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLInputElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -1431,12 +1433,14 @@ static const tid_t HTMLLabelElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLLabelElement_dispex = { - "HTMLLabelElement", - &HTMLLabelElement_event_target_vtbl.dispex_vtbl, - DispHTMLLabelElement_tid, - HTMLLabelElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLLabelElement_dispex = { + .name = "HTMLLabelElement", + .id = PROT_HTMLLabelElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLLabelElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLLabelElement_tid, + .iface_tids = HTMLLabelElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLLabelElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -1717,12 +1721,14 @@ static const tid_t HTMLButtonElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLButtonElement_dispex = { - "HTMLButtonElement", - &HTMLButtonElement_event_target_vtbl.dispex_vtbl, - DispHTMLButtonElement_tid, - HTMLButtonElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLButtonElement_dispex = { + .name = "HTMLButtonElement", + .id = PROT_HTMLButtonElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLButtonElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLButtonElement_tid, + .iface_tids = HTMLButtonElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLButtonElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index adec8e49021..d41e5549e6f 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -413,6 +413,7 @@ typedef struct { X(HTMLAnchorElement) \ X(HTMLAreaElement) \ X(HTMLBodyElement) \ + X(HTMLButtonElement) \ X(HTMLDocument) \ X(HTMLElement) \ X(HTMLFormElement) \ @@ -421,6 +422,8 @@ typedef struct { X(HTMLHtmlElement) \ X(HTMLIFrameElement) \ X(HTMLImageElement) \ + X(HTMLInputElement) \ + X(HTMLLabelElement) \ X(HTMLMetaElement) \ X(HTMLOptionElement) \ X(HTMLTitleElement) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 6ac15046532..724e295d341 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3168,4 +3168,10 @@ sync_test("prototypes", function() { check(HTMLHeadElement.prototype, HTMLElement.prototype, "head element prototype"); check(document.createElement("meta"), HTMLMetaElement.prototype, "meta element"); check(HTMLMetaElement.prototype, HTMLElement.prototype, "meta element prototype"); + check(document.createElement("input"), HTMLInputElement.prototype, "input element"); + check(HTMLInputElement.prototype, HTMLElement.prototype, "input element prototype"); + check(document.createElement("label"), HTMLLabelElement.prototype, "label element"); + check(HTMLLabelElement.prototype, HTMLElement.prototype, "label element prototype"); + check(document.createElement("button"), HTMLButtonElement.prototype, "button element"); + check(HTMLButtonElement.prototype, HTMLElement.prototype, "button element prototype"); });