2 * Copyright 2005 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
31 #include "wine/debug.h"
33 #include "mshtml_private.h"
34 #include "htmlevent.h"
36 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
38 #define HTMLDOC3_THIS(iface) DEFINE_THIS(HTMLDocument, HTMLDocument3, iface)
40 static HRESULT WINAPI HTMLDocument3_QueryInterface(IHTMLDocument3 *iface,
41 REFIID riid, void **ppv)
43 HTMLDocument *This = HTMLDOC3_THIS(iface);
44 return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppv);
47 static ULONG WINAPI HTMLDocument3_AddRef(IHTMLDocument3 *iface)
49 HTMLDocument *This = HTMLDOC3_THIS(iface);
50 return IHTMLDocument2_AddRef(HTMLDOC(This));
53 static ULONG WINAPI HTMLDocument3_Release(IHTMLDocument3 *iface)
55 HTMLDocument *This = HTMLDOC3_THIS(iface);
56 return IHTMLDocument2_Release(HTMLDOC(This));
59 static HRESULT WINAPI HTMLDocument3_GetTypeInfoCount(IHTMLDocument3 *iface, UINT *pctinfo)
61 HTMLDocument *This = HTMLDOC3_THIS(iface);
62 return IDispatchEx_GetTypeInfoCount(DISPATCHEX(This), pctinfo);
65 static HRESULT WINAPI HTMLDocument3_GetTypeInfo(IHTMLDocument3 *iface, UINT iTInfo,
66 LCID lcid, ITypeInfo **ppTInfo)
68 HTMLDocument *This = HTMLDOC3_THIS(iface);
69 return IDispatchEx_GetTypeInfo(DISPATCHEX(This), iTInfo, lcid, ppTInfo);
72 static HRESULT WINAPI HTMLDocument3_GetIDsOfNames(IHTMLDocument3 *iface, REFIID riid,
73 LPOLESTR *rgszNames, UINT cNames,
74 LCID lcid, DISPID *rgDispId)
76 HTMLDocument *This = HTMLDOC3_THIS(iface);
77 return IDispatchEx_GetIDsOfNames(DISPATCHEX(This), riid, rgszNames, cNames, lcid, rgDispId);
80 static HRESULT WINAPI HTMLDocument3_Invoke(IHTMLDocument3 *iface, DISPID dispIdMember,
81 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
82 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
84 HTMLDocument *This = HTMLDOC3_THIS(iface);
85 return IDispatchEx_Invoke(DISPATCHEX(This), dispIdMember, riid, lcid, wFlags, pDispParams,
86 pVarResult, pExcepInfo, puArgErr);
89 static HRESULT WINAPI HTMLDocument3_releaseCapture(IHTMLDocument3 *iface)
91 HTMLDocument *This = HTMLDOC3_THIS(iface);
92 FIXME("(%p)\n", This);
96 static HRESULT WINAPI HTMLDocument3_recalc(IHTMLDocument3 *iface, VARIANT_BOOL fForce)
98 HTMLDocument *This = HTMLDOC3_THIS(iface);
99 FIXME("(%p)->(%x)\n", This, fForce);
103 static HRESULT WINAPI HTMLDocument3_createTextNode(IHTMLDocument3 *iface, BSTR text,
104 IHTMLDOMNode **newTextNode)
106 HTMLDocument *This = HTMLDOC3_THIS(iface);
112 TRACE("(%p)->(%s %p)\n", This, debugstr_w(text), newTextNode);
115 WARN("NULL nsdoc\n");
119 nsAString_Init(&text_str, text);
120 nsres = nsIDOMHTMLDocument_CreateTextNode(This->nsdoc, &text_str, &nstext);
121 nsAString_Finish(&text_str);
122 if(NS_FAILED(nsres)) {
123 ERR("CreateTextNode failed: %08x\n", nsres);
127 node = HTMLDOMTextNode_Create(This->doc_node, (nsIDOMNode*)nstext);
128 nsIDOMElement_Release(nstext);
130 *newTextNode = HTMLDOMNODE(node);
131 IHTMLDOMNode_AddRef(HTMLDOMNODE(node));
135 static HRESULT WINAPI HTMLDocument3_get_documentElement(IHTMLDocument3 *iface, IHTMLElement **p)
137 HTMLDocument *This = HTMLDOC3_THIS(iface);
138 nsIDOMElement *nselem = NULL;
142 TRACE("(%p)->(%p)\n", This, p);
145 WARN("NULL nsdoc\n");
149 nsres = nsIDOMHTMLDocument_GetDocumentElement(This->nsdoc, &nselem);
150 if(NS_FAILED(nsres)) {
151 ERR("GetDocumentElement failed: %08x\n", nsres);
156 node = get_node(This->doc_node, (nsIDOMNode *)nselem, TRUE);
157 nsIDOMElement_Release(nselem);
158 IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)p);
166 static HRESULT WINAPI HTMLDocument3_uniqueID(IHTMLDocument3 *iface, BSTR *p)
168 HTMLDocument *This = HTMLDOC3_THIS(iface);
169 FIXME("(%p)->(%p)\n", This, p);
173 static HRESULT WINAPI HTMLDocument3_attachEvent(IHTMLDocument3 *iface, BSTR event,
174 IDispatch* pDisp, VARIANT_BOOL *pfResult)
176 HTMLDocument *This = HTMLDOC3_THIS(iface);
178 TRACE("(%p)->(%s %p %p)\n", This, debugstr_w(event), pDisp, pfResult);
180 return attach_event(&This->doc_node->node.event_target, This, event, pDisp, pfResult);
183 static HRESULT WINAPI HTMLDocument3_detachEvent(IHTMLDocument3 *iface, BSTR event,
186 HTMLDocument *This = HTMLDOC3_THIS(iface);
187 FIXME("(%p)->(%s %p)\n", This, debugstr_w(event), pDisp);
191 static HRESULT WINAPI HTMLDocument3_put_onrowsdelete(IHTMLDocument3 *iface, VARIANT v)
193 HTMLDocument *This = HTMLDOC3_THIS(iface);
194 FIXME("(%p)->()\n", This);
198 static HRESULT WINAPI HTMLDocument3_get_onrowsdelete(IHTMLDocument3 *iface, VARIANT *p)
200 HTMLDocument *This = HTMLDOC3_THIS(iface);
201 FIXME("(%p)->(%p)\n", This, p);
205 static HRESULT WINAPI HTMLDocument3_put_onrowsinserted(IHTMLDocument3 *iface, VARIANT v)
207 HTMLDocument *This = HTMLDOC3_THIS(iface);
208 FIXME("(%p)->()\n", This);
212 static HRESULT WINAPI HTMLDocument3_get_onrowsinserted(IHTMLDocument3 *iface, VARIANT *p)
214 HTMLDocument *This = HTMLDOC3_THIS(iface);
215 FIXME("(%p)->(%p)\n", This, p);
219 static HRESULT WINAPI HTMLDocument3_put_oncellchange(IHTMLDocument3 *iface, VARIANT v)
221 HTMLDocument *This = HTMLDOC3_THIS(iface);
222 FIXME("(%p)->()\n", This);
226 static HRESULT WINAPI HTMLDocument3_get_oncellchange(IHTMLDocument3 *iface, VARIANT *p)
228 HTMLDocument *This = HTMLDOC3_THIS(iface);
229 FIXME("(%p)->(%p)\n", This, p);
233 static HRESULT WINAPI HTMLDocument3_put_ondatasetchanged(IHTMLDocument3 *iface, VARIANT v)
235 HTMLDocument *This = HTMLDOC3_THIS(iface);
236 FIXME("(%p)->()\n", This);
240 static HRESULT WINAPI HTMLDocument3_get_ondatasetchanged(IHTMLDocument3 *iface, VARIANT *p)
242 HTMLDocument *This = HTMLDOC3_THIS(iface);
243 FIXME("(%p)->(%p)\n", This, p);
247 static HRESULT WINAPI HTMLDocument3_put_ondataavailable(IHTMLDocument3 *iface, VARIANT v)
249 HTMLDocument *This = HTMLDOC3_THIS(iface);
250 FIXME("(%p)->()\n", This);
254 static HRESULT WINAPI HTMLDocument3_get_ondataavailable(IHTMLDocument3 *iface, VARIANT *p)
256 HTMLDocument *This = HTMLDOC3_THIS(iface);
257 FIXME("(%p)->(%p)\n", This, p);
261 static HRESULT WINAPI HTMLDocument3_put_ondatasetcomplete(IHTMLDocument3 *iface, VARIANT v)
263 HTMLDocument *This = HTMLDOC3_THIS(iface);
264 FIXME("(%p)->()\n", This);
268 static HRESULT WINAPI HTMLDocument3_get_ondatasetcomplete(IHTMLDocument3 *iface, VARIANT *p)
270 HTMLDocument *This = HTMLDOC3_THIS(iface);
271 FIXME("(%p)->(%p)\n", This, p);
275 static HRESULT WINAPI HTMLDocument3_put_onpropertychange(IHTMLDocument3 *iface, VARIANT v)
277 HTMLDocument *This = HTMLDOC3_THIS(iface);
278 FIXME("(%p)->()\n", This);
282 static HRESULT WINAPI HTMLDocument3_get_onpropertychange(IHTMLDocument3 *iface, VARIANT *p)
284 HTMLDocument *This = HTMLDOC3_THIS(iface);
285 FIXME("(%p)->(%p)\n", This, p);
289 static HRESULT WINAPI HTMLDocument3_put_dir(IHTMLDocument3 *iface, BSTR v)
291 HTMLDocument *This = HTMLDOC3_THIS(iface);
292 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
296 static HRESULT WINAPI HTMLDocument3_get_dir(IHTMLDocument3 *iface, BSTR *p)
298 HTMLDocument *This = HTMLDOC3_THIS(iface);
299 FIXME("(%p)->(%p)\n", This, p);
303 static HRESULT WINAPI HTMLDocument3_put_oncontextmenu(IHTMLDocument3 *iface, VARIANT v)
305 HTMLDocument *This = HTMLDOC3_THIS(iface);
306 FIXME("(%p)->()\n", This);
310 static HRESULT WINAPI HTMLDocument3_get_oncontextmenu(IHTMLDocument3 *iface, VARIANT *p)
312 HTMLDocument *This = HTMLDOC3_THIS(iface);
313 FIXME("(%p)->(%p)\n", This, p);
317 static HRESULT WINAPI HTMLDocument3_put_onstop(IHTMLDocument3 *iface, VARIANT v)
319 HTMLDocument *This = HTMLDOC3_THIS(iface);
320 FIXME("(%p)->()\n", This);
324 static HRESULT WINAPI HTMLDocument3_get_onstop(IHTMLDocument3 *iface, VARIANT *p)
326 HTMLDocument *This = HTMLDOC3_THIS(iface);
327 FIXME("(%p)->(%p)\n", This, p);
331 static HRESULT WINAPI HTMLDocument3_createDocumentFragment(IHTMLDocument3 *iface,
332 IHTMLDocument2 **ppNewDoc)
334 HTMLDocument *This = HTMLDOC3_THIS(iface);
335 FIXME("(%p)->(%p)\n", This, ppNewDoc);
339 static HRESULT WINAPI HTMLDocument3_get_parentDocument(IHTMLDocument3 *iface,
342 HTMLDocument *This = HTMLDOC3_THIS(iface);
343 FIXME("(%p)->(%p)\n", This, p);
347 static HRESULT WINAPI HTMLDocument3_put_enableDownload(IHTMLDocument3 *iface,
350 HTMLDocument *This = HTMLDOC3_THIS(iface);
351 FIXME("(%p)->(%x)\n", This, v);
355 static HRESULT WINAPI HTMLDocument3_get_enableDownload(IHTMLDocument3 *iface,
358 HTMLDocument *This = HTMLDOC3_THIS(iface);
359 FIXME("(%p)->(%p)\n", This, p);
363 static HRESULT WINAPI HTMLDocument3_put_baseUrl(IHTMLDocument3 *iface, BSTR v)
365 HTMLDocument *This = HTMLDOC3_THIS(iface);
366 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
370 static HRESULT WINAPI HTMLDocument3_get_baseUrl(IHTMLDocument3 *iface, BSTR *p)
372 HTMLDocument *This = HTMLDOC3_THIS(iface);
373 FIXME("(%p)->(%p)\n", This, p);
377 static HRESULT WINAPI HTMLDocument3_get_childNodes(IHTMLDocument3 *iface, IDispatch **p)
379 HTMLDocument *This = HTMLDOC3_THIS(iface);
380 FIXME("(%p)->(%p)\n", This, p);
384 static HRESULT WINAPI HTMLDocument3_put_inheritStyleSheets(IHTMLDocument3 *iface,
387 HTMLDocument *This = HTMLDOC3_THIS(iface);
388 FIXME("(%p)->()\n", This);
392 static HRESULT WINAPI HTMLDocument3_get_inheritStyleSheets(IHTMLDocument3 *iface,
395 HTMLDocument *This = HTMLDOC3_THIS(iface);
396 FIXME("(%p)->(%p)\n", This, p);
400 static HRESULT WINAPI HTMLDocument3_put_onbeforeeditfocus(IHTMLDocument3 *iface, VARIANT v)
402 HTMLDocument *This = HTMLDOC3_THIS(iface);
403 FIXME("(%p)->()\n", This);
407 static HRESULT WINAPI HTMLDocument3_get_onbeforeeditfocus(IHTMLDocument3 *iface, VARIANT *p)
409 HTMLDocument *This = HTMLDOC3_THIS(iface);
410 FIXME("(%p)->(%p)\n", This, p);
414 static HRESULT WINAPI HTMLDocument3_getElementsByName(IHTMLDocument3 *iface, BSTR v,
415 IHTMLElementCollection **ppelColl)
417 HTMLDocument *This = HTMLDOC3_THIS(iface);
418 FIXME("(%p)->(%s %p)\n", This, debugstr_w(v), ppelColl);
423 static HRESULT WINAPI HTMLDocument3_getElementById(IHTMLDocument3 *iface, BSTR v,
426 HTMLDocument *This = HTMLDOC3_THIS(iface);
427 nsIDOMElement *nselem;
432 TRACE("(%p)->(%s %p)\n", This, debugstr_w(v), pel);
435 WARN("NULL nsdoc\n");
439 nsAString_Init(&id_str, v);
440 nsres = nsIDOMHTMLDocument_GetElementById(This->nsdoc, &id_str, &nselem);
441 nsAString_Finish(&id_str);
443 ERR("GetElementById failed: %08x\n", nsres);
448 node = get_node(This->doc_node, (nsIDOMNode*)nselem, TRUE);
449 nsIDOMElement_Release(nselem);
451 IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)pel);
460 static HRESULT WINAPI HTMLDocument3_getElementsByTagName(IHTMLDocument3 *iface, BSTR v,
461 IHTMLElementCollection **pelColl)
463 HTMLDocument *This = HTMLDOC3_THIS(iface);
464 nsIDOMNodeList *nslist;
465 nsAString id_str, ns_str;
467 static const WCHAR str[] = {'*',0};
469 TRACE("(%p)->(%s %p)\n", This, debugstr_w(v), pelColl);
472 WARN("NULL nsdoc\n");
476 nsAString_Init(&id_str, v);
477 nsAString_Init(&ns_str, str);
478 nsres = nsIDOMHTMLDocument_GetElementsByTagNameNS(This->nsdoc, &ns_str, &id_str, &nslist);
479 nsAString_Finish(&id_str);
480 nsAString_Finish(&ns_str);
482 ERR("GetElementByName failed: %08x\n", nsres);
486 *pelColl = (IHTMLElementCollection*)create_collection_from_nodelist(This->doc_node, (IUnknown*)HTMLDOC3(This), nslist);
487 nsIDOMNodeList_Release(nslist);
494 static const IHTMLDocument3Vtbl HTMLDocument3Vtbl = {
495 HTMLDocument3_QueryInterface,
496 HTMLDocument3_AddRef,
497 HTMLDocument3_Release,
498 HTMLDocument3_GetTypeInfoCount,
499 HTMLDocument3_GetTypeInfo,
500 HTMLDocument3_GetIDsOfNames,
501 HTMLDocument3_Invoke,
502 HTMLDocument3_releaseCapture,
503 HTMLDocument3_recalc,
504 HTMLDocument3_createTextNode,
505 HTMLDocument3_get_documentElement,
506 HTMLDocument3_uniqueID,
507 HTMLDocument3_attachEvent,
508 HTMLDocument3_detachEvent,
509 HTMLDocument3_put_onrowsdelete,
510 HTMLDocument3_get_onrowsdelete,
511 HTMLDocument3_put_onrowsinserted,
512 HTMLDocument3_get_onrowsinserted,
513 HTMLDocument3_put_oncellchange,
514 HTMLDocument3_get_oncellchange,
515 HTMLDocument3_put_ondatasetchanged,
516 HTMLDocument3_get_ondatasetchanged,
517 HTMLDocument3_put_ondataavailable,
518 HTMLDocument3_get_ondataavailable,
519 HTMLDocument3_put_ondatasetcomplete,
520 HTMLDocument3_get_ondatasetcomplete,
521 HTMLDocument3_put_onpropertychange,
522 HTMLDocument3_get_onpropertychange,
523 HTMLDocument3_put_dir,
524 HTMLDocument3_get_dir,
525 HTMLDocument3_put_oncontextmenu,
526 HTMLDocument3_get_oncontextmenu,
527 HTMLDocument3_put_onstop,
528 HTMLDocument3_get_onstop,
529 HTMLDocument3_createDocumentFragment,
530 HTMLDocument3_get_parentDocument,
531 HTMLDocument3_put_enableDownload,
532 HTMLDocument3_get_enableDownload,
533 HTMLDocument3_put_baseUrl,
534 HTMLDocument3_get_baseUrl,
535 HTMLDocument3_get_childNodes,
536 HTMLDocument3_put_inheritStyleSheets,
537 HTMLDocument3_get_inheritStyleSheets,
538 HTMLDocument3_put_onbeforeeditfocus,
539 HTMLDocument3_get_onbeforeeditfocus,
540 HTMLDocument3_getElementsByName,
541 HTMLDocument3_getElementById,
542 HTMLDocument3_getElementsByTagName
545 #define HTMLDOC4_THIS(iface) DEFINE_THIS(HTMLDocument, HTMLDocument4, iface)
547 static HRESULT WINAPI HTMLDocument4_QueryInterface(IHTMLDocument4 *iface,
548 REFIID riid, void **ppv)
550 HTMLDocument *This = HTMLDOC4_THIS(iface);
551 return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppv);
554 static ULONG WINAPI HTMLDocument4_AddRef(IHTMLDocument4 *iface)
556 HTMLDocument *This = HTMLDOC4_THIS(iface);
557 return IHTMLDocument2_AddRef(HTMLDOC(This));
560 static ULONG WINAPI HTMLDocument4_Release(IHTMLDocument4 *iface)
562 HTMLDocument *This = HTMLDOC4_THIS(iface);
563 return IHTMLDocument2_Release(HTMLDOC(This));
566 static HRESULT WINAPI HTMLDocument4_GetTypeInfoCount(IHTMLDocument4 *iface, UINT *pctinfo)
568 HTMLDocument *This = HTMLDOC4_THIS(iface);
569 return IDispatchEx_GetTypeInfoCount(DISPATCHEX(This), pctinfo);
572 static HRESULT WINAPI HTMLDocument4_GetTypeInfo(IHTMLDocument4 *iface, UINT iTInfo,
573 LCID lcid, ITypeInfo **ppTInfo)
575 HTMLDocument *This = HTMLDOC4_THIS(iface);
576 return IDispatchEx_GetTypeInfo(DISPATCHEX(This), iTInfo, lcid, ppTInfo);
579 static HRESULT WINAPI HTMLDocument4_GetIDsOfNames(IHTMLDocument4 *iface, REFIID riid,
580 LPOLESTR *rgszNames, UINT cNames,
581 LCID lcid, DISPID *rgDispId)
583 HTMLDocument *This = HTMLDOC4_THIS(iface);
584 return IDispatchEx_GetIDsOfNames(DISPATCHEX(This), riid, rgszNames, cNames, lcid, rgDispId);
587 static HRESULT WINAPI HTMLDocument4_Invoke(IHTMLDocument4 *iface, DISPID dispIdMember,
588 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
589 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
591 HTMLDocument *This = HTMLDOC4_THIS(iface);
592 return IDispatchEx_Invoke(DISPATCHEX(This), dispIdMember, riid, lcid, wFlags, pDispParams,
593 pVarResult, pExcepInfo, puArgErr);
596 static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface)
598 HTMLDocument *This = HTMLDOC4_THIS(iface);
599 nsIDOMNSHTMLElement *nselem;
600 nsIDOMHTMLElement *nsbody;
603 TRACE("(%p)->()\n", This);
605 nsres = nsIDOMHTMLDocument_GetBody(This->nsdoc, &nsbody);
606 if(NS_FAILED(nsres) || !nsbody) {
607 ERR("GetBody failed: %08x\n", nsres);
611 nsres = nsIDOMHTMLElement_QueryInterface(nsbody, &IID_nsIDOMNSHTMLElement, (void**)&nselem);
612 nsIDOMHTMLElement_Release(nsbody);
613 if(NS_FAILED(nsres)) {
614 ERR("Could not get nsIDOMNSHTMLElement: %08x\n", nsres);
618 nsres = nsIDOMNSHTMLElement_focus(nselem);
619 nsIDOMNSHTMLElement_Release(nselem);
620 if(NS_FAILED(nsres)) {
621 ERR("Focus failed: %08x\n", nsres);
628 static HRESULT WINAPI HTMLDocument4_hasFocus(IHTMLDocument4 *iface, VARIANT_BOOL *pfFocus)
630 HTMLDocument *This = HTMLDOC4_THIS(iface);
631 FIXME("(%p)->(%p)\n", This, pfFocus);
635 static HRESULT WINAPI HTMLDocument4_put_onselectionchange(IHTMLDocument4 *iface, VARIANT v)
637 HTMLDocument *This = HTMLDOC4_THIS(iface);
638 FIXME("(%p)->(v)\n", This);
642 static HRESULT WINAPI HTMLDocument4_get_onselectionchange(IHTMLDocument4 *iface, VARIANT *p)
644 HTMLDocument *This = HTMLDOC4_THIS(iface);
645 FIXME("(%p)->(%p)\n", This, p);
649 static HRESULT WINAPI HTMLDocument4_get_namespace(IHTMLDocument4 *iface, IDispatch **p)
651 HTMLDocument *This = HTMLDOC4_THIS(iface);
652 FIXME("(%p)->(%p)\n", This, p);
656 static HRESULT WINAPI HTMLDocument4_createDocumentFromUrl(IHTMLDocument4 *iface, BSTR bstrUrl,
657 BSTR bstrOptions, IHTMLDocument2 **newDoc)
659 HTMLDocument *This = HTMLDOC4_THIS(iface);
660 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(bstrUrl), debugstr_w(bstrOptions), newDoc);
664 static HRESULT WINAPI HTMLDocument4_put_media(IHTMLDocument4 *iface, BSTR v)
666 HTMLDocument *This = HTMLDOC4_THIS(iface);
667 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
671 static HRESULT WINAPI HTMLDocument4_get_media(IHTMLDocument4 *iface, BSTR *p)
673 HTMLDocument *This = HTMLDOC4_THIS(iface);
674 FIXME("(%p)->(%p)\n", This, p);
678 static HRESULT WINAPI HTMLDocument4_createEventObject(IHTMLDocument4 *iface,
679 VARIANT *pvarEventObject, IHTMLEventObj **ppEventObj)
681 HTMLDocument *This = HTMLDOC4_THIS(iface);
682 FIXME("(%p)->(%p %p)\n", This, pvarEventObject, ppEventObj);
686 static HRESULT WINAPI HTMLDocument4_fireEvent(IHTMLDocument4 *iface, BSTR bstrEventName,
687 VARIANT *pvarEventObject, VARIANT_BOOL *pfCanceled)
689 HTMLDocument *This = HTMLDOC4_THIS(iface);
690 FIXME("(%p)->(%s %p %p)\n", This, debugstr_w(bstrEventName), pvarEventObject, pfCanceled);
694 static HRESULT WINAPI HTMLDocument4_createRenderStyle(IHTMLDocument4 *iface, BSTR v,
695 IHTMLRenderStyle **ppIHTMLRenderStyle)
697 HTMLDocument *This = HTMLDOC4_THIS(iface);
698 FIXME("(%p)->(%s %p)\n", This, debugstr_w(v), ppIHTMLRenderStyle);
702 static HRESULT WINAPI HTMLDocument4_put_oncontrolselect(IHTMLDocument4 *iface, VARIANT v)
704 HTMLDocument *This = HTMLDOC4_THIS(iface);
705 FIXME("(%p)->(v)\n", This);
709 static HRESULT WINAPI HTMLDocument4_get_oncontrolselect(IHTMLDocument4 *iface, VARIANT *p)
711 HTMLDocument *This = HTMLDOC4_THIS(iface);
712 FIXME("(%p)->(%p)\n", This, p);
716 static HRESULT WINAPI HTMLDocument4_get_URLEncoded(IHTMLDocument4 *iface, BSTR *p)
718 HTMLDocument *This = HTMLDOC4_THIS(iface);
719 FIXME("(%p)->(%p)\n", This, p);
725 static const IHTMLDocument4Vtbl HTMLDocument4Vtbl = {
726 HTMLDocument4_QueryInterface,
727 HTMLDocument4_AddRef,
728 HTMLDocument4_Release,
729 HTMLDocument4_GetTypeInfoCount,
730 HTMLDocument4_GetTypeInfo,
731 HTMLDocument4_GetIDsOfNames,
732 HTMLDocument4_Invoke,
734 HTMLDocument4_hasFocus,
735 HTMLDocument4_put_onselectionchange,
736 HTMLDocument4_get_onselectionchange,
737 HTMLDocument4_get_namespace,
738 HTMLDocument4_createDocumentFromUrl,
739 HTMLDocument4_put_media,
740 HTMLDocument4_get_media,
741 HTMLDocument4_createEventObject,
742 HTMLDocument4_fireEvent,
743 HTMLDocument4_createRenderStyle,
744 HTMLDocument4_put_oncontrolselect,
745 HTMLDocument4_get_oncontrolselect,
746 HTMLDocument4_get_URLEncoded
749 void HTMLDocument_HTMLDocument3_Init(HTMLDocument *This)
751 This->lpHTMLDocument3Vtbl = &HTMLDocument3Vtbl;
752 This->lpHTMLDocument4Vtbl = &HTMLDocument4Vtbl;