From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/tests/xhr.js | 39 +++++++++++++++------------------------ 1 file changed, 15 insertions(+), 24 deletions(-)
diff --git a/dlls/mshtml/tests/xhr.js b/dlls/mshtml/tests/xhr.js index 661eafc54d9..cc543e7cec8 100644 --- a/dlls/mshtml/tests/xhr.js +++ b/dlls/mshtml/tests/xhr.js @@ -16,9 +16,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+var tests = []; var xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a name="test">wine</a>";
-function test_xhr() { +async_test("async_xhr", function() { var xhr = new XMLHttpRequest(); var complete_cnt = 0, loadstart = false;
@@ -74,9 +75,9 @@ function test_xhr() { xhr.withCredentials = false; } xhr.send(xml); -} +});
-function test_sync_xhr() { +async_test("sync_xhr", function() { var async_xhr, async_xhr2, sync_xhr, sync_xhr_in_async, sync_xhr_nested, a = [ 0 ]; var async_xhr_clicked = false, doc_dblclicked = false; function onmsg(e) { a.push("msg" + e.data); } @@ -212,9 +213,9 @@ function test_sync_xhr() { iframe.src = "xhr_iframe.html"; document.body.appendChild(iframe); }, 0); -} +});
-function test_content_types() { +async_test("content_types", function() { var xhr = new XMLHttpRequest(), types, i = 0, override = false; var v = document.documentMode;
@@ -272,9 +273,9 @@ function test_content_types() { xhr.open("POST", "echo.php?content-type=" + types[i], true); xhr.setRequestHeader("X-Test", "True"); xhr.send(xml); -} +});
-function test_abort() { +async_test("abort", function() { var xhr = new XMLHttpRequest(); if(!("onabort" in xhr)) { next_test(); return; }
@@ -291,9 +292,9 @@ function test_abort() { xhr.setRequestHeader("X-Test", "True"); xhr.send("Abort Test"); xhr.abort(); -} +});
-function test_timeout() { +async_test("timeout", function() { var xhr = new XMLHttpRequest(); var v = document.documentMode;
@@ -331,9 +332,9 @@ function test_timeout() { xhr.setRequestHeader("X-Test", "True"); xhr.timeout = 10; xhr.send("Timeout Test"); -} +});
-function test_responseType() { +async_test("responseType", function() { var i, xhr = new XMLHttpRequest(); if(!("responseType" in xhr)) { next_test(); return; }
@@ -385,9 +386,9 @@ function test_responseType() { } xhr.onloadend = function() { next_test(); } xhr.send("responseType test"); -} +});
-function test_response() { +async_test("response", function() { var xhr = new XMLHttpRequest(), i = 0; if(!("response" in xhr)) { next_test(); return; }
@@ -429,14 +430,4 @@ function test_response() { xhr.setRequestHeader("X-Test", "True"); xhr.responseType = types[i][0]; xhr.send(xml); -} - -var tests = [ - test_xhr, - test_sync_xhr, - test_content_types, - test_abort, - test_timeout, - test_responseType, - test_response -]; +});
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlanchor.c | 14 ++++++++------ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmlanchor.c b/dlls/mshtml/htmlanchor.c index 670cd48795d..5f585ac61f6 100644 --- a/dlls/mshtml/htmlanchor.c +++ b/dlls/mshtml/htmlanchor.c @@ -834,12 +834,14 @@ static const tid_t HTMLAnchorElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLAnchorElement_dispex = { - "HTMLAnchorElement", - &HTMLAnchorElement_event_target_vtbl.dispex_vtbl, - DispHTMLAnchorElement_tid, - HTMLAnchorElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLAnchorElement_dispex = { + .name = "HTMLAnchorElement", + .id = PROT_HTMLAnchorElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLAnchorElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLAnchorElement_tid, + .iface_tids = HTMLAnchorElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLAnchorElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index f25662e0d15..bddc30ad4cf 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -410,6 +410,7 @@ typedef struct { X(DOMImplementation) \ X(Document) \ X(Element) \ + X(HTMLAnchorElement) \ X(HTMLBodyElement) \ X(HTMLDocument) \ X(HTMLElement) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 123523543f0..7a9dfd88caa 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3150,4 +3150,6 @@ sync_test("prototypes", function() { check(MutationObserver.prototype, Object.prototype, "mutation observer prototype"); check(MutationObserver, Function.prototype, "mutation observer constructor"); } + check(document.createElement("a"), HTMLAnchorElement.prototype, "anchor element"); + check(HTMLAnchorElement.prototype, HTMLElement.prototype, "anchor element prototype"); });
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlarea.c | 14 ++++++++------ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmlarea.c b/dlls/mshtml/htmlarea.c index f00c621adc2..c26855e45e5 100644 --- a/dlls/mshtml/htmlarea.c +++ b/dlls/mshtml/htmlarea.c @@ -444,12 +444,14 @@ static const tid_t HTMLAreaElement_iface_tids[] = { IHTMLAreaElement_tid, 0 }; -static dispex_static_data_t HTMLAreaElement_dispex = { - "HTMLAreaElement", - &HTMLAreaElement_event_target_vtbl.dispex_vtbl, - DispHTMLAreaElement_tid, - HTMLAreaElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLAreaElement_dispex = { + .name = "HTMLAreaElement", + .id = PROT_HTMLAreaElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLAreaElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLAreaElement_tid, + .iface_tids = HTMLAreaElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLAreaElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index bddc30ad4cf..e6854cdcf91 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -411,6 +411,7 @@ typedef struct { X(Document) \ X(Element) \ X(HTMLAnchorElement) \ + X(HTMLAreaElement) \ X(HTMLBodyElement) \ X(HTMLDocument) \ X(HTMLElement) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 7a9dfd88caa..1849bbebc80 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3152,4 +3152,6 @@ sync_test("prototypes", function() { } check(document.createElement("a"), HTMLAnchorElement.prototype, "anchor element"); check(HTMLAnchorElement.prototype, HTMLElement.prototype, "anchor element prototype"); + check(document.createElement("area"), HTMLAreaElement.prototype, "area element"); + check(HTMLAreaElement.prototype, HTMLElement.prototype, "area element prototype"); });
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlform.c | 14 ++++++++------ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmlform.c b/dlls/mshtml/htmlform.c index 80a8d706054..83c13626a45 100644 --- a/dlls/mshtml/htmlform.c +++ b/dlls/mshtml/htmlform.c @@ -908,12 +908,14 @@ static const tid_t HTMLFormElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLFormElement_dispex = { - "HTMLFormElement", - &HTMLFormElement_event_target_vtbl.dispex_vtbl, - DispHTMLFormElement_tid, - HTMLFormElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLFormElement_dispex = { + .name = "HTMLFormElement", + .id = PROT_HTMLFormElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLFormElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLFormElement_tid, + .iface_tids = HTMLFormElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLFormElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index e6854cdcf91..a493c3e6557 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -415,6 +415,7 @@ typedef struct { X(HTMLBodyElement) \ X(HTMLDocument) \ X(HTMLElement) \ + X(HTMLFormElement) \ X(HTMLImageElement) \ X(HTMLOptionElement) \ X(MutationObserver) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 1849bbebc80..e2916d7f5dd 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3154,4 +3154,6 @@ sync_test("prototypes", function() { check(HTMLAnchorElement.prototype, HTMLElement.prototype, "anchor element prototype"); check(document.createElement("area"), HTMLAreaElement.prototype, "area element"); check(HTMLAreaElement.prototype, HTMLElement.prototype, "area element prototype"); + check(document.createElement("form"), HTMLFormElement.prototype, "form element"); + check(HTMLFormElement.prototype, HTMLElement.prototype, "form element prototype"); });
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlframe.c | 34 +++++++++++++++++-------------- dlls/mshtml/mshtml_private.h | 2 ++ dlls/mshtml/tests/documentmode.js | 4 ++++ 3 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/dlls/mshtml/htmlframe.c b/dlls/mshtml/htmlframe.c index 8082af43be5..347861d2c10 100644 --- a/dlls/mshtml/htmlframe.c +++ b/dlls/mshtml/htmlframe.c @@ -928,12 +928,14 @@ static const tid_t HTMLFrameElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLFrameElement_dispex = { - "HTMLFrameElement", - &HTMLFrameElement_event_target_vtbl.dispex_vtbl, - DispHTMLFrameElement_tid, - HTMLFrameElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLFrameElement_dispex = { + .name = "HTMLFrameElement", + .id = PROT_HTMLFrameElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLFrameElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLFrameElement_tid, + .iface_tids = HTMLFrameElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLFrameElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -1340,7 +1342,7 @@ static const NodeImplVtbl HTMLIFrameImplVtbl = { .bind_to_tree = HTMLIFrame_bind_to_tree, };
-static const event_target_vtbl_t HTMLIFrame_event_target_vtbl = { +static const event_target_vtbl_t HTMLIFrameElement_event_target_vtbl = { { HTMLELEMENT_DISPEX_VTBL_ENTRIES, .query_interface= HTMLIFrame_query_interface, @@ -1355,7 +1357,7 @@ static const event_target_vtbl_t HTMLIFrame_event_target_vtbl = { .handle_event = HTMLElement_handle_event };
-static const tid_t HTMLIFrame_iface_tids[] = { +static const tid_t HTMLIFrameElement_iface_tids[] = { HTMLELEMENT_TIDS, IHTMLFrameBase_tid, IHTMLFrameBase2_tid, @@ -1365,12 +1367,14 @@ static const tid_t HTMLIFrame_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLIFrame_dispex = { - "HTMLIFrameElement", - &HTMLIFrame_event_target_vtbl.dispex_vtbl, - DispHTMLIFrame_tid, - HTMLIFrame_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLIFrameElement_dispex = { + .name = "HTMLIFrameElement", + .id = PROT_HTMLIFrameElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLIFrameElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLIFrame_tid, + .iface_tids = HTMLIFrameElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLIFrame_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -1386,7 +1390,7 @@ HRESULT HTMLIFrame_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElem ret->IHTMLIFrameElement3_iface.lpVtbl = &HTMLIFrameElement3Vtbl; ret->framebase.element.node.vtbl = &HTMLIFrameImplVtbl;
- HTMLFrameBase_Init(&ret->framebase, doc, nselem, &HTMLIFrame_dispex); + HTMLFrameBase_Init(&ret->framebase, doc, nselem, &HTMLIFrameElement_dispex);
*elem = &ret->framebase.element; return S_OK; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index a493c3e6557..c61dc96d22f 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -416,6 +416,8 @@ typedef struct { X(HTMLDocument) \ X(HTMLElement) \ X(HTMLFormElement) \ + X(HTMLFrameElement) \ + X(HTMLIFrameElement) \ X(HTMLImageElement) \ X(HTMLOptionElement) \ X(MutationObserver) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index e2916d7f5dd..31f291332b4 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3156,4 +3156,8 @@ sync_test("prototypes", function() { check(HTMLAreaElement.prototype, HTMLElement.prototype, "area element prototype"); check(document.createElement("form"), HTMLFormElement.prototype, "form element"); check(HTMLFormElement.prototype, HTMLElement.prototype, "form element prototype"); + check(document.createElement("frame"), HTMLFrameElement.prototype, "frame element"); + check(HTMLFrameElement.prototype, HTMLElement.prototype, "frame element prototype"); + check(document.createElement("iframe"), HTMLIFrameElement.prototype, "iframe element"); + check(HTMLIFrameElement.prototype, HTMLElement.prototype, "iframe element prototype"); });
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlhead.c | 56 ++++++++++++++++++------------- dlls/mshtml/mshtml_private.h | 4 +++ dlls/mshtml/tests/documentmode.js | 8 +++++ 3 files changed, 44 insertions(+), 24 deletions(-)
diff --git a/dlls/mshtml/htmlhead.c b/dlls/mshtml/htmlhead.c index 89c45b668a1..8fa64522a5d 100644 --- a/dlls/mshtml/htmlhead.c +++ b/dlls/mshtml/htmlhead.c @@ -126,12 +126,14 @@ static const tid_t HTMLTitleElement_iface_tids[] = { IHTMLTitleElement_tid, 0 }; -static dispex_static_data_t HTMLTitleElement_dispex = { - "HTMLTitleElement", - &HTMLTitleElement_event_target_vtbl.dispex_vtbl, - DispHTMLTitleElement_tid, - HTMLTitleElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLTitleElement_dispex = { + .name = "HTMLTitleElement", + .id = PROT_HTMLTitleElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLTitleElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLTitleElement_tid, + .iface_tids = HTMLTitleElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLTitleElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -241,12 +243,14 @@ static const tid_t HTMLHtmlElement_iface_tids[] = { IHTMLHtmlElement_tid, 0 }; -static dispex_static_data_t HTMLHtmlElement_dispex = { - "HTMLHtmlElement", - &HTMLHtmlElement_event_target_vtbl.dispex_vtbl, - DispHTMLHtmlElement_tid, - HTMLHtmlElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLHtmlElement_dispex = { + .name = "HTMLHtmlElement", + .id = PROT_HTMLHtmlElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLHtmlElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLHtmlElement_tid, + .iface_tids = HTMLHtmlElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLHtmlElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -420,12 +424,14 @@ static const tid_t HTMLMetaElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLMetaElement_dispex = { - "HTMLMetaElement", - &HTMLMetaElement_event_target_vtbl.dispex_vtbl, - DispHTMLMetaElement_tid, - HTMLMetaElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLMetaElement_dispex = { + .name = "HTMLMetaElement", + .id = PROT_HTMLMetaElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLMetaElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLMetaElement_tid, + .iface_tids = HTMLMetaElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLMetaElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) @@ -526,12 +532,14 @@ static const tid_t HTMLHeadElement_iface_tids[] = { IHTMLHeadElement_tid, 0 }; -static dispex_static_data_t HTMLHeadElement_dispex = { - "HTMLHeadElement", - &HTMLHeadElement_event_target_vtbl.dispex_vtbl, - DispHTMLHeadElement_tid, - HTMLHeadElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLHeadElement_dispex = { + .name = "HTMLHeadElement", + .id = PROT_HTMLHeadElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLHeadElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLHeadElement_tid, + .iface_tids = HTMLHeadElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLHeadElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index c61dc96d22f..adec8e49021 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -417,9 +417,13 @@ typedef struct { X(HTMLElement) \ X(HTMLFormElement) \ X(HTMLFrameElement) \ + X(HTMLHeadElement) \ + X(HTMLHtmlElement) \ X(HTMLIFrameElement) \ X(HTMLImageElement) \ + X(HTMLMetaElement) \ X(HTMLOptionElement) \ + X(HTMLTitleElement) \ X(MutationObserver) \ X(Navigator) \ X(Node) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 31f291332b4..6ac15046532 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3160,4 +3160,12 @@ sync_test("prototypes", function() { check(HTMLFrameElement.prototype, HTMLElement.prototype, "frame element prototype"); check(document.createElement("iframe"), HTMLIFrameElement.prototype, "iframe element"); check(HTMLIFrameElement.prototype, HTMLElement.prototype, "iframe element prototype"); + check(document.createElement("title"), HTMLTitleElement.prototype, "title element"); + check(HTMLTitleElement.prototype, HTMLElement.prototype, "title element prototype"); + check(document.documentElement, HTMLHtmlElement.prototype, "html element"); + check(HTMLHtmlElement.prototype, HTMLElement.prototype, "html element prototype"); + check(document.head, HTMLHeadElement.prototype, "head element"); + check(HTMLHeadElement.prototype, HTMLElement.prototype, "head element prototype"); + check(document.createElement("meta"), HTMLMetaElement.prototype, "meta element"); + check(HTMLMetaElement.prototype, HTMLElement.prototype, "meta element prototype"); });
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"); });
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmllink.c | 14 ++++++++------ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmllink.c b/dlls/mshtml/htmllink.c index 805ec031227..e499ee2232d 100644 --- a/dlls/mshtml/htmllink.c +++ b/dlls/mshtml/htmllink.c @@ -387,12 +387,14 @@ static const tid_t HTMLLinkElement_iface_tids[] = { IHTMLLinkElement_tid, 0 }; -static dispex_static_data_t HTMLLinkElement_dispex = { - "HTMLLinkElement", - &HTMLLinkElement_event_target_vtbl.dispex_vtbl, - DispHTMLLinkElement_tid, - HTMLLinkElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLLinkElement_dispex = { + .name = "HTMLLinkElement", + .id = PROT_HTMLLinkElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLLinkElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLLinkElement_tid, + .iface_tids = HTMLLinkElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLLinkElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index d41e5549e6f..7c92a160ebe 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -424,6 +424,7 @@ typedef struct { X(HTMLImageElement) \ X(HTMLInputElement) \ X(HTMLLabelElement) \ + X(HTMLLinkElement) \ X(HTMLMetaElement) \ X(HTMLOptionElement) \ X(HTMLTitleElement) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 724e295d341..14a651b30e1 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3174,4 +3174,6 @@ sync_test("prototypes", function() { check(HTMLLabelElement.prototype, HTMLElement.prototype, "label element prototype"); check(document.createElement("button"), HTMLButtonElement.prototype, "button element"); check(HTMLButtonElement.prototype, HTMLElement.prototype, "button element prototype"); + check(document.createElement("link"), HTMLLinkElement.prototype, "link element"); + check(HTMLLinkElement.prototype, HTMLElement.prototype, "link element prototype"); });
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"); });
From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlscript.c | 14 ++++++++------ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmlscript.c b/dlls/mshtml/htmlscript.c index 9a4d9dd5242..1defaba2efe 100644 --- a/dlls/mshtml/htmlscript.c +++ b/dlls/mshtml/htmlscript.c @@ -414,12 +414,14 @@ static const tid_t HTMLScriptElement_iface_tids[] = { 0 };
-static dispex_static_data_t HTMLScriptElement_dispex = { - "HTMLScriptElement", - &HTMLScriptElement_event_target_vtbl.dispex_vtbl, - DispHTMLScriptElement_tid, - HTMLScriptElement_iface_tids, - HTMLElement_init_dispex_info +dispex_static_data_t HTMLScriptElement_dispex = { + .name = "HTMLScriptElement", + .id = PROT_HTMLScriptElement, + .prototype_id = PROT_HTMLElement, + .vtbl = &HTMLScriptElement_event_target_vtbl.dispex_vtbl, + .disp_tid = DispHTMLScriptElement_tid, + .iface_tids = HTMLScriptElement_iface_tids, + .init_info = HTMLElement_init_dispex_info, };
HRESULT HTMLScriptElement_Create(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **elem) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 196341a7b7d..7067d71bed7 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -429,6 +429,7 @@ typedef struct { X(HTMLMetaElement) \ X(HTMLObjectElement) \ X(HTMLOptionElement) \ + X(HTMLScriptElement) \ X(HTMLTitleElement) \ X(MutationObserver) \ X(Navigator) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 597e8e6f8d7..2a557e0670f 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3180,4 +3180,6 @@ sync_test("prototypes", function() { check(HTMLObjectElement.prototype, HTMLElement.prototype, "object element prototype"); check(document.createElement("embed"), HTMLEmbedElement.prototype, "embed element"); check(HTMLEmbedElement.prototype, HTMLElement.prototype, "embed element prototype"); + check(document.createElement("script"), HTMLScriptElement.prototype, "script element"); + check(HTMLScriptElement.prototype, HTMLElement.prototype, "script element prototype"); });
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=147594
Your paranoid android.
=== debian11b (64 bit WoW report) ===
ws2_32: protocol.c:1657: Test failed: Wrong address data protocol.c:1657: Test failed: Wrong address data protocol.c:1657: Test failed: Wrong address data