23#define DEFINE_EXPECT(func) \
24 static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
26#define SET_EXPECT(func) \
27 do { called_ ## func = FALSE; expect_ ## func = TRUE; } while(0)
29#define CHECK_EXPECT2(func) \
32 ok(expect_ ##func, "unexpected call " #func "\n"); \
33 called_ ## func = TRUE; \
36#define CHECK_EXPECT(func) \
38 CHECK_EXPECT2(func); \
39 expect_ ## func = FALSE; \
42#define CHECK_CALLED(func) \
44 ok(called_ ## func, "expected " #func "\n"); \
45 expect_ ## func = called_ ## func = FALSE; \
95 "<div id=\"clickdiv\" style=\"text-align: center; background: red; font-size: 32\">click here</div>"
99 "<html><body><iframe id=\"iframe\"></iframe></body></html>";
102 "<html><body><img id=\"imgid\"></img></body></html>";
105 "<html><body><input id=\"inputid\"></input></body></html>";
108 "<html><body><iframe id=\"ifr\">Testing</iframe></body></html>";
111 "<html><body><form id=\"formid\" method=\"post\" action=\"about:blank\">"
112 "<input type=\"text\" value=\"test\" name=\"i\"/>"
113 "<input type=\"submit\" id=\"submitid\" />"
114 "</form></body></html>";
143 IUnknown_Release(
unk1);
144 IUnknown_QueryInterface(iface1, &
IID_IUnknown, (
void**)&unk2);
145 IUnknown_Release(unk2);
150#define test_disp(u,id) _test_disp(__LINE__,u,id)
158 hres = IUnknown_QueryInterface(unk, &IID_IDispatchEx, (
void**)&dispex);
164 hres = IDispatchEx_GetTypeInfoCount(dispex, &ticnt);
166 ok_(__FILE__,
line) (ticnt == 1,
"ticnt=%u\n", ticnt);
168 hres = IDispatchEx_GetTypeInfo(dispex, 0, 0, &
typeinfo);
179 ITypeInfo_ReleaseTypeAttr(
typeinfo, type_attr);
183 IDispatchEx_Release(dispex);
186#define get_doc3_iface(u) _get_doc3_iface(__LINE__,u)
189 IHTMLDocument3 *doc3;
192 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDocument3, (
void**)&doc3);
198#define get_elem_iface(u) _get_elem_iface(__LINE__,u)
204 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement, (
void**)&
elem);
210#define get_elem2_iface(u) _get_elem2_iface(__LINE__,u)
213 IHTMLElement2 *elem2;
216 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement2, (
void**)&elem2);
222#define get_elem3_iface(u) _get_elem3_iface(__LINE__,u)
225 IHTMLElement3 *elem3;
228 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement3, (
void**)&elem3);
234#define get_iframe_iface(u) _get_iframe_iface(__LINE__,u)
237 IHTMLIFrameElement *iframe;
240 hres = IUnknown_QueryInterface(unk, &IID_IHTMLIFrameElement, (
void**)&iframe);
241 ok_(__FILE__,
line)(
hres ==
S_OK,
"QueryInterface(IID_IHTMLIFrameElement) failed: %08x\n",
hres);
246#define doc_get_body(d) _doc_get_body(__LINE__,d)
252 hres = IHTMLDocument2_get_body(doc, &
body);
259#define get_elem_id(d,i) _get_elem_id(__LINE__,d,i)
268 hres = IHTMLDocument3_getElementById(doc3,
str, &
elem);
270 IHTMLDocument3_Release(doc3);
276#define test_elem_tag(u,n) _test_elem_tag(__LINE__,u,n)
284 IHTMLElement_Release(
elem);
291#define get_event_obj() _get_event_obj(__LINE__)
294 IHTMLEventObj *
event =
NULL;
299 ok_(__FILE__,
line) (
event !=
NULL,
"event = NULL\n");
305#define elem_fire_event(a,b,c) _elem_fire_event(__LINE__,a,b,c)
315 hres = IHTMLElement3_fireEvent(elem3,
str, evobj, &
b);
318 ok_(__FILE__,
line)(
b == VARIANT_TRUE,
"fireEvent returned %x\n",
b);
321#define test_event_args(a,b,c,d,e,f,g) _test_event_args(__LINE__,a,b,c,d,e,f,g)
325 ok_(__FILE__,
line) (
id == DISPID_VALUE,
"id = %d\n",
id);
328 ok_(__FILE__,
line) (pdp->cArgs == 1,
"pdp->cArgs = %d\n", pdp->cArgs);
329 ok_(__FILE__,
line) (pdp->cNamedArgs == 1,
"pdp->cNamedArgs = %d\n", pdp->cNamedArgs);
330 ok_(__FILE__,
line) (pdp->rgdispidNamedArgs[0] ==
DISPID_THIS,
"pdp->rgdispidNamedArgs[0] = %d\n",
331 pdp->rgdispidNamedArgs[0]);
333 ok_(__FILE__,
line) (pvarRes !=
NULL,
"pvarRes == NULL\n");
335 ok_(__FILE__,
line) (!pspCaller,
"pspCaller != NULL\n");
341#define test_attached_event_args(a,b,c,d,e) _test_attached_event_args(__LINE__,a,b,c,d,e)
343 VARIANT *pvarRes, EXCEPINFO *pei)
345 IHTMLEventObj *
event;
347 ok(
id == DISPID_VALUE,
"id = %d\n",
id);
349 ok(pdp !=
NULL,
"pDispParams == NULL\n");
350 ok(pdp->cArgs == 1,
"pdp->cArgs = %d\n", pdp->cArgs);
351 ok(!pdp->cNamedArgs,
"pdp->cNamedArgs = %d\n", pdp->cNamedArgs);
352 ok(!pdp->rgdispidNamedArgs,
"pdp->rgdispidNamedArgs = %p\n", pdp->rgdispidNamedArgs);
353 ok(pdp->rgvarg !=
NULL,
"rgvarg = NULL\n");
354 ok(pvarRes !=
NULL,
"pvarRes = NULL\n");
355 ok(pei !=
NULL,
"pei = NULL\n");
362 IHTMLEventObj_Release(
event);
365#define get_event_src() _get_event_src(__LINE__)
369 IHTMLElement *src_elem =
NULL;
372 hres = IHTMLEventObj_get_srcElement(
event, &src_elem);
373 IHTMLEventObj_Release(
event);
379#define test_event_src(t) _test_event_src(__LINE__,t)
385 ok_(__FILE__,
line) (src_elem !=
NULL,
"src_elem = NULL\n");
387 IHTMLElement_Release(src_elem);
389 ok_(__FILE__,
line) (!src_elem,
"src_elem != NULL\n");
400 ok_(__FILE__,
line)(
b == exval,
"altKey = %x, expected %x\n",
b, exval);
410 ok_(__FILE__,
line)(
b == exval,
"ctrlKey = %x, expected %x\n",
b, exval);
420 ok_(__FILE__,
line)(
b == exval,
"shiftKey = %x, expected %x\n",
b, exval);
423#define test_event_cancelbubble(a,b) _test_event_cancelbubble(__LINE__,a,b)
429 hres = IHTMLEventObj_get_cancelBubble(
event, &
b);
431 ok_(__FILE__,
line)(
b == exval,
"cancelBubble = %x, expected %x\n",
b, exval);
446 IHTMLElement_Release(
elem);
461 IHTMLElement_Release(
elem);
471 ok_(__FILE__,
line)(
l == exl,
"keyCode = %x, expected %x\n",
l, exl);
481 ok_(__FILE__,
line)(
l == exl,
"button = %x, expected %x\n",
l, exl);
491 ok_(__FILE__,
line)(
l == exl,
"reason = %x, expected %x\n",
l, exl);
502 ok_(__FILE__,
line)(
l == exl,
"x = %d, expected %d\n",
l, exl);
513 ok_(__FILE__,
line)(
l == exl,
"y = %d, expected %d\n",
l, exl);
524 ok_(__FILE__,
line)(
l == exl,
"clientX = %d, expected %d\n",
l, exl);
535 ok_(__FILE__,
line)(
l == exl,
"clientY = %d, expected %d\n",
l, exl);
546 ok_(__FILE__,
line)(
l == exl,
"offsetX = %d, expected %d\n",
l, exl);
557 ok_(__FILE__,
line)(
l == exl,
"offsetY = %d, expected %d\n",
l, exl);
568 ok_(__FILE__,
line)(
l == exl,
"screenX = %d, expected %d\n",
l, exl);
579 ok_(__FILE__,
line)(
l == exl,
"screenY = %d, expected %d\n",
l, exl);
602 ok_(__FILE__,
line)(!
str,
"qualifier != NULL\n");
610 hres = IHTMLEventObj_get_srcFilter(
event, &disp);
612 ok_(__FILE__,
line)(!disp,
"srcFilter != NULL\n");
615#define test_event_obj(t,x) _test_event_obj(__LINE__,t,x)
644 hres = IHTMLEventObj_get_returnValue(
event, &
v);
648 IHTMLEventObj_Release(
event);
651#define elem_attach_event(a,b,c) _elem_attach_event(__LINE__,a,b,c)
661 IHTMLElement2_Release(
elem);
664 ok_(__FILE__,
line)(
res == VARIANT_TRUE,
"attachEvent returned %x\n",
res);
667#define elem_detach_event(a,b,c) _elem_detach_event(__LINE__,a,b,c)
676 IHTMLElement2_Release(
elem);
681#define doc_attach_event(a,b,c) _doc_attach_event(__LINE__,a,b,c)
690 hres = IHTMLDocument3_attachEvent(doc3,
name, disp, &
res);
691 IHTMLDocument3_Release(doc3);
694 ok_(__FILE__,
line)(
res == VARIANT_TRUE,
"attachEvent returned %x\n",
res);
697#define doc_detach_event(a,b,c) _doc_detach_event(__LINE__,a,b,c)
705 hres = IHTMLDocument3_detachEvent(doc3,
name, disp);
706 IHTMLDocument3_Release(doc3);
756 ok(0,
"unexpected call\n");
763 ok(0,
"unexpected call\n");
771 ok(0,
"unexpected call\n");
777 VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
UINT *puArgErr)
779 ok(0,
"unexpected call\n");
785 ok(0,
"unexpected call\n");
792 ok(0,
"unexpected call\n");
804 ok(0,
"unexpected call\n");
810 ok(0,
"unexpected call\n");
816 ok(0,
"unexpected call\n");
822 ok(0,
"unexpected call\n");
828 ok(0,
"unexpected call\n");
832#define EVENT_HANDLER_FUNC_OBJ(event) \
833 static IDispatchExVtbl event ## FuncVtbl = { \
834 DispatchEx_QueryInterface, \
836 DispatchEx_Release, \
837 DispatchEx_GetTypeInfoCount, \
838 DispatchEx_GetTypeInfo, \
839 DispatchEx_GetIDsOfNames, \
841 DispatchEx_GetDispID, \
843 DispatchEx_DeleteMemberByName, \
844 DispatchEx_DeleteMemberByDispID, \
845 DispatchEx_GetMemberProperties, \
846 DispatchEx_GetMemberName, \
847 DispatchEx_GetNextDispID, \
848 DispatchEx_GetNameSpaceParent \
850 static IDispatchEx event ## _obj = { &event ## FuncVtbl };
855 IHTMLDocument3 *doc3;
859 IHTMLDocument3_Release(doc3);
965 V_BOOL(pvarRes) = VARIANT_FALSE;
990 V_BOOL(pvarRes) = VARIANT_FALSE;
1015 V_BOOL(pvarRes) = VARIANT_FALSE;
1024 IHTMLEventObj *
event;
1047 IHTMLEventObj *
event;
1061 hres = IHTMLEventObj_get_returnValue(
event, &
v);
1069 hres = IHTMLEventObj_get_returnValue(
event, &
v);
1073 IHTMLEventObj_Release(
event);
1083 IHTMLEventObj *
event;
1097 hres = IHTMLEventObj_put_cancelBubble(
event, VARIANT_TRUE);
1101 IHTMLEventObj_Release(
event);
1110 IHTMLEventObj *
event =
NULL;
1116 event = (
void*)0xdeadbeef;
1130 IHTMLDocument2 *iframe_doc;
1131 IHTMLFrameBase2 *iframe;
1132 IHTMLElement2 *elem2;
1143 IHTMLElement_Release(
elem);
1146 hres = IHTMLElement2_get_readyState(elem2, &
v);
1150 hres = IHTMLElement2_QueryInterface(elem2, &IID_IHTMLFrameBase2, (
void**)&iframe);
1151 IHTMLElement2_Release(elem2);
1152 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase2 iface: %08x\n",
hres);
1155 hres = IHTMLFrameBase2_get_readyState(iframe, &
str);
1157 ok(
str !=
NULL,
"readyState == NULL\n");
1161 hres = IHTMLFrameBase2_get_contentWindow(iframe, &iframe_window);
1164 hres = IHTMLWindow2_get_document(iframe_window, &iframe_doc);
1165 IHTMLWindow2_Release(iframe_window);
1168 hres = IHTMLDocument2_get_readyState(iframe_doc, &str2);
1178 hres = IHTMLDocument2_put_onreadystatechange(iframe_doc,
v);
1188 IHTMLDocument2_Release(iframe_doc);
1189 IHTMLFrameBase2_Release(iframe);
1198 ok(0,
"unexpected call\n");
1204#define CONNECTION_POINT_OBJ(cpname, diid) \
1205 static HRESULT WINAPI cpname ## _QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv) \
1208 if(IsEqualGUID(riid, &IID_IUnknown) \
1209 || IsEqualGUID(riid, &IID_IDispatch) \
1210 || IsEqualGUID(riid, &diid)) \
1213 ok(0, "unexpected riid %s\n", wine_dbgstr_guid(riid)); \
1214 return E_NOINTERFACE; \
1218 static IDispatchExVtbl cpname ## Vtbl = { \
1219 cpname ## _QueryInterface, \
1220 DispatchEx_AddRef, \
1221 DispatchEx_Release, \
1222 DispatchEx_GetTypeInfoCount, \
1223 DispatchEx_GetTypeInfo, \
1224 DispatchEx_GetIDsOfNames, \
1226 DispatchEx_GetDispID, \
1227 DispatchEx_InvokeEx, \
1228 DispatchEx_DeleteMemberByName, \
1229 DispatchEx_DeleteMemberByDispID, \
1230 DispatchEx_GetMemberProperties, \
1231 DispatchEx_GetMemberName, \
1232 DispatchEx_GetNextDispID, \
1233 DispatchEx_GetNameSpaceParent \
1235 static IDispatchEx cpname ## _obj = { &cpname ## Vtbl }
1237#define test_cp_args(a,b,c,d,e,f) _test_cp_args(__LINE__,a,b,c,d,e,f)
1243 ok_(__FILE__,
line)(!dp->cArgs,
"dp->cArgs = %d\n", dp->cArgs);
1244 ok_(__FILE__,
line)(!dp->rgvarg,
"dp->rgvarg = %p\n", dp->rgvarg);
1245 ok_(__FILE__,
line)(!dp->cNamedArgs,
"dp->cNamedArgs = %d\n", dp->cNamedArgs);
1246 ok_(__FILE__,
line)(!dp->rgdispidNamedArgs,
"dp->rgdispidNamedArgs = %p\n", dp->rgdispidNamedArgs);
1247 ok_(__FILE__,
line)(vres !=
NULL,
"vres == NULL\n");
1250 ok_(__FILE__,
line)(argerr !=
NULL,
"argerr == NULL\n");
1253#define test_cp_eventarg(a,b,c,d,e,f) _test_cp_eventarg(__LINE__,a,b,c,d,e,f)
1256 IHTMLEventObj *
event;
1261 ok_(__FILE__,
line)(dp->cArgs == 1,
"dp->cArgs = %d\n", dp->cArgs);
1262 ok_(__FILE__,
line)(dp->rgvarg !=
NULL,
"dp->rgvarg = %p\n", dp->rgvarg);
1263 ok_(__FILE__,
line)(!dp->cNamedArgs,
"dp->cNamedArgs = %d\n", dp->cNamedArgs);
1264 ok_(__FILE__,
line)(!dp->rgdispidNamedArgs,
"dp->rgdispidNamedArgs = %p\n", dp->rgdispidNamedArgs);
1265 ok_(__FILE__,
line)(vres !=
NULL,
"vres == NULL\n");
1268 ok_(__FILE__,
line)(argerr !=
NULL,
"argerr == NULL\n");
1275 IHTMLEventObj_Release(
event);
1280 VARIANT *pVarResult, EXCEPINFO *pei,
UINT *puArgErr)
1282 switch(dispIdMember) {
1288 ok(0,
"unexpected call %d\n", dispIdMember);
1300 switch(dispIdMember) {
1305 V_BOOL(pVarResult) = VARIANT_FALSE;
1308 ok(0,
"unexpected call %d\n", dispIdMember);
1320 switch(dispIdMember) {
1326 ok(0,
"unexpected call %d\n", dispIdMember);
1337 VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
UINT *puArgErr)
1341 ok(dispIdMember == DISPID_VALUE,
"dispIdMember = %d\n", dispIdMember);
1344 ok(!lcid,
"lcid = %x\n", lcid);
1345 ok(pDispParams !=
NULL,
"pDispParams == NULL\n");
1346 ok(!pDispParams->cArgs,
"pdp->cArgs = %d\n", pDispParams->cArgs);
1347 ok(!pDispParams->cNamedArgs,
"pdp->cNamedArgs = %d\n", pDispParams->cNamedArgs);
1348 ok(!pDispParams->rgdispidNamedArgs,
"pdp->rgdispidNamedArgs = %p\n", pDispParams->rgdispidNamedArgs);
1349 ok(!pDispParams->rgvarg,
"rgvarg = %p\n", pDispParams->rgvarg);
1350 ok(pVarResult !=
NULL,
"pVarResult = NULL\n");
1351 ok(pExcepInfo !=
NULL,
"pExcepInfo = NULL\n");
1352 ok(!puArgErr,
"puArgErr = %p\n", puArgErr);
1387 ok(!puArgErr,
"puArgErr = %p\n", puArgErr);
1428 ok(
hres ==
S_OK,
"Could not get IConnectionPointContainer: %08x\n",
hres);
1430 hres = IConnectionPointContainer_FindConnectionPoint(cp_container,
riid, &
cp);
1431 IConnectionPointContainer_Release(cp_container);
1445 IConnectionPoint_Release(
cp);
1458 IConnectionPoint_Release(
cp);
1469 ok(0,
"Unexpected call\n");
1485 ok(0,
"Unexpected call\n");
1491 ok(0,
"Unexpected call\n");
1498 ok(0,
"Unexpected call\n");
1504 EXCEPINFO *pExcepInfo,
UINT *puArgErr)
1507 ok(pDispParams !=
NULL,
"pDispParams == NULL\n");
1508 ok(pExcepInfo !=
NULL,
"pExcepInfo == NULL\n");
1509 ok(puArgErr !=
NULL,
"puArgErr == NULL\n");
1510 ok(
V_VT(pVarResult) == 0,
"V_VT(pVarResult) = %d\n",
V_VT(pVarResult));
1513 switch(dispIdMember) {
1529 ok(0,
"Unexpected call: %d\n", dispIdMember);
1549 DWORD cp_cookie, elem2_cp_cookie;
1562 hres = IHTMLElement_get_onclick(
div, &
v);
1567 hres = IHTMLElement_put_onclick(
div,
v);
1572 hres = IHTMLElement_put_onclick(
div,
v);
1577 hres = IHTMLElement_get_onclick(
div, &
v);
1586 hres = IHTMLElement_put_onclick(
div,
v);
1590 hres = IHTMLElement_put_ondblclick(
div,
v);
1594 hres = IHTMLElement_get_onclick(
div, &
v);
1601 hres = IHTMLDocument2_get_onclick(doc, &
v);
1607 hres = IHTMLDocument2_put_onclick(doc,
v);
1611 hres = IHTMLDocument2_get_onclick(doc, &
v);
1621 hres = IHTMLElement_put_onclick(
body,
v);
1644 hres = IHTMLElement_click(
div);
1681 hres = IHTMLElement_click(
div);
1705 trace(
"click >>>\n");
1706 hres = IHTMLElement_click(
div);
1708 trace(
"click <<<\n");
1724 hres = IHTMLElement_put_onclick(
div,
v);
1727 hres = IHTMLElement_get_onclick(
div, &
v);
1741 hres = IHTMLElement_click(
div);
1749 IHTMLElement_Release(
div);
1750 IHTMLElement_Release(
body);
1755 IHTMLFrameBase *iframe;
1756 IHTMLElement2 *elem2;
1764 IHTMLElement_Release(
elem);
1767 hres = IHTMLElement2_get_onreadystatechange(elem2, &
v);
1773 hres = IHTMLElement2_put_onreadystatechange(elem2,
v);
1777 hres = IHTMLElement2_get_onreadystatechange(elem2, &
v);
1780 ok(
V_DISPATCH(&
v) == (
IDispatch*)&iframe_onreadystatechange_obj,
"unexpected onreadystatechange value\n");
1782 hres = IHTMLElement2_QueryInterface(elem2, &IID_IHTMLFrameBase, (
void**)&iframe);
1783 IHTMLElement2_Release(elem2);
1784 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase iface: %08x\n",
hres);
1786 hres = IHTMLFrameBase_put_src(iframe, (
str =
a2bstr(
"about:blank")));
1790 SET_EXPECT(iframe_onreadystatechange_loading);
1792 SET_EXPECT(iframe_onreadystatechange_interactive);
1793 SET_EXPECT(iframe_onreadystatechange_complete);
1794 pump_msgs(&called_iframe_onreadystatechange_complete);
1800 IHTMLFrameBase_Release(iframe);
1805 IHTMLImgElement *
img;
1812 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLImgElement, (
void**)&
img);
1813 IHTMLElement_Release(
elem);
1814 ok(
hres ==
S_OK,
"Could not get IHTMLImgElement iface: %08x\n",
hres);
1817 hres = IHTMLImgElement_get_onload(
img, &
v);
1823 hres = IHTMLImgElement_put_onload(
img,
v);
1827 hres = IHTMLImgElement_get_onload(
img, &
v);
1835 hres = IHTMLImgElement_put_onerror(
img,
v);
1839 hres = IHTMLImgElement_get_onerror(
img, &
v);
1845 str =
a2bstr(
"http://test.winehq.org/tests/winehq_snapshot/index_files/winehq_logo_text.png");
1865 IHTMLImgElement_Release(
img);
1870 IHTMLElement2 *elem2;
1877 IHTMLElement_Release(
elem);
1880 hres = IHTMLElement2_get_onfocus(elem2, &
v);
1886 hres = IHTMLElement2_put_onfocus(elem2,
v);
1890 hres = IHTMLElement2_get_onfocus(elem2, &
v);
1909 hres = IHTMLElement2_focus(elem2);
1916 hres = IHTMLElement2_put_onblur(elem2,
v);
1920 hres = IHTMLElement2_blur(elem2);
1928 IHTMLElement2_Release(elem2);
1933 IHTMLElement *
elem, *submit;
1934 IHTMLFormElement *
form;
1943 hres = IHTMLElement_put_onclick(
elem,
v);
1946 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLFormElement, (
void**)&
form);
1947 IHTMLElement_Release(
elem);
1948 ok(
hres ==
S_OK,
"Could not get IHTMLFormElement iface: %08x\n",
hres);
1952 hres = IHTMLFormElement_put_onsubmit(
form,
v);
1955 IHTMLFormElement_Release(
form);
1961 hres = IHTMLElement_click(submit);
1968 hres = IHTMLElement_put_onclick(submit,
v);
1973 hres = IHTMLElement_click(submit);
1983 hres = IHTMLElement_click(submit);
1990 hres = IHTMLElement_put_onclick(submit,
v);
1995 hres = IHTMLElement_click(submit);
2006 hres = IHTMLElement_click(submit);
2015 hres = IHTMLElement_put_onclick(submit,
v);
2026 hres = IHTMLElement_click(submit);
2037 hres = IHTMLElement_click(submit);
2049 hres = IHTMLElement_click(submit);
2059 hres = IHTMLElement_click(submit);
2069 hres = IHTMLElement_put_onclick(submit,
v);
2075 hres = IHTMLElement_click(submit);
2083 IHTMLElement_Release(submit);
2093 hres = IHTMLWindow2_QueryInterface(
window, &IID_IHTMLWindow3, (
void**)&win3);
2094 ok(
hres ==
S_OK,
"Could not get IHTMLWindow3 iface: %08x\n",
hres);
2100 hres = IHTMLWindow3_setTimeout(win3, &
expr, 0, &
var, &
id);
2112 hres = IHTMLWindow3_setTimeout(win3, &
expr, 0, &
var, &
id);
2116 hres = IHTMLWindow2_clearTimeout(
window,
id);
2119 IHTMLWindow3_Release(win3);
2125 IHTMLDocument3 *doc3;
2129 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
2130 ok(
hres ==
S_OK,
"QueryInterface(IID_IHTMLDocument3) failed: %08x\n",
hres);
2132 hres = IHTMLDocument3_getElementById(doc3, idW, &
result);
2137 IHTMLDocument3_Release(doc3);
2144 IHTMLFrameBase2 *
base;
2147 hres = IHTMLIFrameElement_QueryInterface(iframe, &IID_IHTMLFrameBase2, (
void**)&
base);
2148 ok(
hres ==
S_OK,
"QueryInterface(IID_IHTMLFrameBase2) failed: %08x\n",
hres);
2159 IHTMLWindow2_Release(
window);
2162 if(
base) IHTMLFrameBase2_Release(
base);
2169 IHTMLIFrameElement *iframe;
2170 IHTMLDocument2 *iframes_doc;
2177 trace(
"iframe tests...\n");
2181 IHTMLElement_Release(
element);
2184 IHTMLIFrameElement_Release(iframe);
2190 IConnectionPoint_Release(
cp);
2196 IHTMLFrameBase2 *frame_base2;
2199 hres = IHTMLIFrameElement_QueryInterface(iframe, &IID_IHTMLFrameBase2, (
void**)&frame_base2);
2200 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase2 iface: %08x\n",
hres);
2204 hres = IHTMLFrameBase2_put_onload(frame_base2,
v);
2207 IHTMLFrameBase2_Release(frame_base2);
2210 hres = IHTMLDocument2_put_URL(iframes_doc,
str);
2219 hres = IHTMLDocument2_put_URL(iframes_doc,
str);
2227 win_skip(
"Skipping iframe onload tests on IE older than 9.\n");
2230 IHTMLDocument2_Release(iframes_doc);
2266 LPCBORDERWIDTHS pborderwidths)
2272 LPCBORDERWIDTHS pborderwidths)
2290 LPOLEMENUGROUPWIDTHS lpMenuWidths)
2296 HOLEMENU holemenu,
HWND hwndActiveObject)
2298 ok(0,
"unexpected call\n");
2304 ok(0,
"unexpected call\n");
2320 ok(0,
"unexpected call\n");
2381 ok(0,
"unexpected call\n");
2402 LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
2404 static const RECT rect = {0,0,300,300};
2408 *lprcPosRect =
rect;
2409 *lprcClipRect =
rect;
2411 ok(lpFrameInfo->cb ==
sizeof(*lpFrameInfo),
"lpFrameInfo->cb = %u, expected %u\n", lpFrameInfo->cb, (
unsigned)
sizeof(*lpFrameInfo));
2412 lpFrameInfo->fMDIApp =
FALSE;
2414 lpFrameInfo->haccel =
NULL;
2415 lpFrameInfo->cAccelEntries = 0;
2487 ok(0,
"unexpected call\n");
2494 ok(0,
"unexpected call\n");
2505 ok(0,
"unexpected call\n");
2511 ok(0,
"unexpected call\n");
2517 ok(0,
"unexpected call\n");
2556 hres = IOleDocumentView_QueryInterface(pViewToActivate, &IID_IOleDocument, (
void**)&document);
2560 IOleDocument_Release(document);
2612 ok(0,
"unexpected call\n");
2646 ok(0,
"unexpected call\n");
2678 IPersistStreamInit_Release(
init);
2690 ok(
hres ==
S_OK,
"QueryInterface(IID_IConnectionPointContainer) failed: %08x\n",
hres);
2693 IConnectionPointContainer_Release(
container);
2696 hres = IConnectionPoint_Advise(
cp, unk_advise, &
cookie);
2697 IConnectionPoint_Release(
cp);
2708 IOleDocumentView_CloseView(
view, 0);
2709 IOleDocumentView_SetInPlaceSite(
view,
NULL);
2710 IOleDocumentView_Release(
view);
2723 hres = IOleObject_QueryInterface(oleobj, &IID_IHlinkTarget, (
void**)&hlink);
2724 ok(
hres ==
S_OK,
"Could not get IHlinkTarget iface: %08x\n",
hres);
2726 hres = IHlinkTarget_Navigate(hlink, 0,
NULL);
2729 IHlinkTarget_Release(hlink);
2732 IOleObject_Release(oleobj);
2736 IHTMLDocument2 *doc;
2740 &IID_IHTMLDocument2, (
void**)&doc);
2750 IHTMLDocument2 *doc;
2767 hres = IHTMLDocument2_get_body(doc, &
body);
2771 IHTMLElement_Release(
body);
2773 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
2779 IHTMLWindow2_Release(
window);
2782 skip(
"Could not get document body. Assuming no Gecko installed.\n");
2786 IHTMLDocument2_Release(doc);
2796 static const CHAR szHTMLDocumentTest[] =
"HTMLDocumentTest";
2807 return CreateWindowA(szHTMLDocumentTest, szHTMLDocumentTest,
2816 IHTMLDocument2 *windows_doc, *doc;
2824 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
2827 hres = IHTMLWindow2_get_document(
window, &windows_doc);
2828 IHTMLWindow2_Release(
window);
2835 IConnectionPoint_Release(
cp);
2838 IHTMLDocument2_Release(windows_doc);
2839 IHTMLDocument2_Release(doc);
2844 IHTMLDocument2 *doc;
2845 IHTMLDocument5 *doc5;
2846 IHTMLDocument7 *doc7;
2853 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument7, (
void**)&doc7);
2856 IHTMLDocument7_Release(doc7);
2861 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument5, (
void**)&doc5);
2863 IHTMLDocument5_Release(doc5);
2865 IHTMLDocument2_Release(doc);
_STLP_VENDOR_CSTD::ldiv_t div(long __x, long __y)
ACPI_SIZE strlen(const char *String)
#define WideCharToMultiByte
#define MultiByteToWideChar
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
GLuint GLuint GLsizei GLenum type
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum GLboolean sink
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
#define DISPID_READYSTATE
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
#define memcpy(s1, s2, n)
static void test_focus(void)
static const char * strw(LPCWSTR x)
static HRESULT WINAPI InPlaceFrame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
static HRESULT WINAPI input_onfocus(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static const char input_doc_str[]
static const IOleInPlaceFrameVtbl InPlaceFrameVtbl
static IOleDocumentSite DocumentSite
static HRESULT WINAPI InPlaceSite_OnPosRectChange(IOleInPlaceSite *iface, LPCRECT lprcPosRect)
static HRESULT WINAPI InPlaceUIWindow_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
static HRESULT WINAPI nocall(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static void _test_event_screenx(unsigned line, IHTMLEventObj *event, LONG exl)
static DWORD register_cp(IUnknown *unk, REFIID riid, IUnknown *sink)
static IDispatchEx timeoutFunc
static const char iframe_doc_str[]
static void _test_cp_args(unsigned line, REFIID riid, WORD flags, DISPPARAMS *dp, VARIANT *vres, EXCEPINFO *ei, UINT *argerr)
static IHTMLElement * find_element_by_id(IHTMLDocument2 *doc, const char *id)
static DWORD WINAPI EventDispatch_Release(IDispatch *iface)
static void _test_event_obj(unsigned line, const char *type, const xy_test_t *xy)
static HRESULT WINAPI ClientSite_RequestNewObjectLayout(IOleClientSite *iface)
static HRESULT WINAPI InPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
static IHTMLEventObj * _get_event_obj(unsigned line)
static HRESULT WINAPI timeoutFunc_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI DocumentSite_Release(IOleDocumentSite *iface)
static HRESULT WINAPI document_onclick(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
#define test_attached_event_args(a, b, c, d, e)
static const IOleDocumentSiteVtbl DocumentSiteVtbl
static ULONG WINAPI InPlaceSite_AddRef(IOleInPlaceSite *iface)
#define get_iframe_iface(u)
static void _test_event_x(unsigned line, IHTMLEventObj *event, LONG exl)
static void test_empty_document(void)
static HRESULT WINAPI PropertyNotifySink_OnChanged(IPropertyNotifySink *iface, DISPID dispID)
static HRESULT WINAPI input_onblur(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
#define elem_attach_event(a, b, c)
#define test_event_args(a, b, c, d, e, f, g)
static IOleInPlaceFrame InPlaceFrame
static const IOleInPlaceSiteVtbl InPlaceSiteVtbl
static HRESULT WINAPI InPlaceSite_OnUIDeactivate(IOleInPlaceSite *iface, BOOL fUndoable)
static IOleClientSite ClientSite
static void test_imgload(IHTMLDocument2 *doc)
static HRESULT WINAPI InPlaceSite_CanInPlaceActivate(IOleInPlaceSite *iface)
static HRESULT WINAPI body_onclick(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI Dispatch_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI InPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phwnd)
static HRESULT WINAPI ClientSite_ShowObject(IOleClientSite *iface)
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl
static IHTMLWindow2 * window
static BOOL iface_cmp(IUnknown *iface1, IUnknown *iface2)
static ULONG WINAPI ClientSite_AddRef(IOleClientSite *iface)
#define test_event_obj(t, x)
static void _test_event_args(unsigned line, const IID *dispiid, DISPID id, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
#define test_event_src(t)
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static const IDispatchExVtbl timeoutFuncVtbl
static void _test_event_button(unsigned line, IHTMLEventObj *event, LONG exl)
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
static LRESULT WINAPI wnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static void _test_event_clientx(unsigned line, IHTMLEventObj *event, LONG exl)
static HRESULT WINAPI submit_onclick_attached(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI DispatchEx_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static HRESULT WINAPI InPlaceFrame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
static void _test_event_cancelbubble(unsigned line, IHTMLEventObj *event, VARIANT_BOOL exval)
static HRESULT WINAPI submit_onclick_attached_check_cancel(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT QueryInterface(REFIID, void **)
static void _test_cp_eventarg(unsigned line, REFIID riid, WORD flags, DISPPARAMS *dp, VARIANT *vres, EXCEPINFO *ei, UINT *argerr)
static const char click_doc_str[]
static HRESULT WINAPI DispatchEx_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
#define CHECK_EXPECT(func)
static HRESULT WINAPI InPlaceSite_OnInPlaceActivate(IOleInPlaceSite *iface)
static ULONG WINAPI PropertyNotifySink_AddRef(IPropertyNotifySink *iface)
static BOOL check_ie(void)
static ULONG WINAPI InPlaceFrame_Release(IOleInPlaceFrame *iface)
static HRESULT WINAPI InPlaceSite_ContextSensitiveHelp(IOleInPlaceSite *iface, BOOL fEnterMode)
static void _test_event_type(unsigned line, IHTMLEventObj *event, const char *exstr)
#define get_doc3_iface(u)
#define DEFINE_EXPECT(func)
static ULONG WINAPI ClientSite_Release(IOleClientSite *iface)
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
static IHTMLDocument3 * _get_doc3_iface(unsigned line, IUnknown *unk)
static const char form_doc_str[]
static IHTMLIFrameElement * _get_iframe_iface(unsigned line, IUnknown *unk)
static HRESULT WINAPI submit_onclick(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static const IDispatchVtbl EventDispatchVtbl
static HRESULT WINAPI submit_onclick_cancel(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static VARIANT onclick_retval
static IDispatch EventDispatch
static IHTMLElement * _get_elem_iface(unsigned line, IUnknown *unk)
static void pump_msgs(BOOL *b)
static BSTR a2bstr(const char *str)
static HRESULT WINAPI InPlaceFrame_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
static void _test_event_offsety(unsigned line, IHTMLEventObj *event, LONG exl)
static void _test_event_toelem(unsigned line, IHTMLEventObj *event, const char *to_tag)
static ULONG WINAPI DocumentSite_AddRef(IOleDocumentSite *iface)
static HRESULT WINAPI EventDispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static HRESULT WINAPI InPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame *iface, BOOL fEnterMode)
#define test_cp_args(a, b, c, d, e, f)
static HRESULT WINAPI EventDispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
static int strcmp_wa(LPCWSTR strw, const char *stra)
#define elem_fire_event(a, b, c)
static HRESULT WINAPI PropertyNotifySink_OnRequestEdit(IPropertyNotifySink *iface, DISPID dispID)
static HRESULT WINAPI EventDispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static const char img_doc_str[]
static HRESULT WINAPI EventDispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static VARIANT onclick_event_retval
static HRESULT WINAPI InPlaceSite_OnUIActivate(IOleInPlaceSite *iface)
static HRESULT WINAPI form_onsubmit(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static void _test_event_src(unsigned line, const char *src_tag)
static HRESULT WINAPI DocumentSite_QueryInterface(IOleDocumentSite *iface, REFIID riid, void **ppv)
static HRESULT WINAPI iframe_onload(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static void unregister_cp(IUnknown *unk, REFIID riid, DWORD cookie)
static IHTMLDocument2 * create_document(void)
static HRESULT WINAPI img_onload(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static IDispatchEx div_onclick_disp
static HRESULT WINAPI img_onerror(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static void test_onclick(IHTMLDocument2 *doc)
static void do_advise(IUnknown *unk, REFIID riid, IUnknown *unk_advise)
static HRESULT WINAPI InPlaceFrame_SetStatusText(IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
static void _test_event_ctrlkey(unsigned line, IHTMLEventObj *event, VARIANT_BOOL exval)
static HRESULT WINAPI submit_onclick_setret(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
#define CHECK_EXPECT2(func)
static const IDispatchExVtbl div_onclick_dispVtbl
static HRESULT WINAPI InPlaceFrame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
static HRESULT WINAPI ClientSite_SaveObject(IOleClientSite *iface)
static HRESULT WINAPI InPlaceSite_GetWindow(IOleInPlaceSite *iface, HWND *phwnd)
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
#define elem_detach_event(a, b, c)
#define EVENT_HANDLER_FUNC_OBJ(event)
static void _test_event_reason(unsigned line, IHTMLEventObj *event, LONG exl)
static void _test_event_keycode(unsigned line, IHTMLEventObj *event, LONG exl)
static HRESULT WINAPI InPlaceSite_GetWindowContext(IOleInPlaceSite *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
static IHTMLDocument2 * get_iframe_doc(IHTMLIFrameElement *iframe)
static HRESULT WINAPI doccp_onclick_cancel(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pVarResult, EXCEPINFO *pei, UINT *puArgErr)
static IConnectionPoint * get_cp(IUnknown *unk, REFIID riid)
static void _test_elem_tag(unsigned line, IUnknown *unk, const char *extag)
#define doc_attach_event(a, b, c)
static const IOleInPlaceFrameVtbl InPlaceUIWindowVtbl
static HWND container_hwnd
static IHTMLElement * _get_elem_id(unsigned line, IHTMLDocument2 *doc, const char *id)
static HRESULT WINAPI InPlaceSite_DeactivateAndUndo(IOleInPlaceSite *iface)
static ULONG WINAPI InPlaceSite_Release(IOleInPlaceSite *iface)
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
static HRESULT WINAPI iframe_onreadystatechange(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static IOleDocumentView * view
static ULONG WINAPI PropertyNotifySink_Release(IPropertyNotifySink *iface)
static void _test_event_offsetx(unsigned line, IHTMLEventObj *event, LONG exl)
static HRESULT WINAPI InPlaceSite_QueryInterface(IOleInPlaceSite *iface, REFIID riid, void **ppv)
static void test_iframe_connections(IHTMLDocument2 *doc)
static void _test_event_clienty(unsigned line, IHTMLEventObj *event, LONG exl)
static HRESULT WINAPI div_onclick(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static void _test_event_y(unsigned line, IHTMLEventObj *event, LONG exl)
#define CHECK_CALLED(func)
void(* testfunc_t)(IHTMLDocument2 *)
static HRESULT WINAPI InPlaceFrame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
static void _test_event_srcfilter(unsigned line, IHTMLEventObj *event)
static void _test_event_screeny(unsigned line, IHTMLEventObj *event, LONG exl)