2 * Copyright 2006 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
32 #include "wine/debug.h"
33 #include "wine/unicode.h"
35 #include "mshtml_private.h"
37 WINE_DEFAULT_DEBUG_CHANNEL(mshtml
);
39 #define HTMLELEM2_THIS(iface) DEFINE_THIS(HTMLElement, HTMLElement2, iface)
41 static HRESULT WINAPI
HTMLElement2_QueryInterface(IHTMLElement2
*iface
,
42 REFIID riid
, void **ppv
)
44 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
45 return IHTMLElement_QueryInterface(HTMLELEM(This
), riid
, ppv
);
48 static ULONG WINAPI
HTMLElement2_AddRef(IHTMLElement2
*iface
)
50 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
51 return IHTMLElement_AddRef(HTMLELEM(This
));
54 static ULONG WINAPI
HTMLElement2_Release(IHTMLElement2
*iface
)
56 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
57 return IHTMLElement_Release(HTMLELEM(This
));
60 static HRESULT WINAPI
HTMLElement2_GetTypeInfoCount(IHTMLElement2
*iface
, UINT
*pctinfo
)
62 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
63 FIXME("(%p)->(%p)\n", This
, pctinfo
);
67 static HRESULT WINAPI
HTMLElement2_GetTypeInfo(IHTMLElement2
*iface
, UINT iTInfo
,
68 LCID lcid
, ITypeInfo
**ppTInfo
)
70 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
71 FIXME("(%p)->(%u %u %p)\n", This
, iTInfo
, lcid
, ppTInfo
);
75 static HRESULT WINAPI
HTMLElement2_GetIDsOfNames(IHTMLElement2
*iface
, REFIID riid
,
76 LPOLESTR
*rgszNames
, UINT cNames
,
77 LCID lcid
, DISPID
*rgDispId
)
79 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
80 FIXME("(%p)->(%s %p %u %u %p)\n", This
, debugstr_guid(riid
), rgszNames
, cNames
,
85 static HRESULT WINAPI
HTMLElement2_Invoke(IHTMLElement2
*iface
, DISPID dispIdMember
,
86 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
,
87 VARIANT
*pVarResult
, EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
89 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
90 FIXME("(%p)->(%d %s %d %d %p %p %p %p)\n", This
, dispIdMember
, debugstr_guid(riid
),
91 lcid
, wFlags
, pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
95 static HRESULT WINAPI
HTMLElement2_get_scopeName(IHTMLElement2
*iface
, BSTR
*p
)
97 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
98 FIXME("(%p)->(%p)\n", This
, p
);
102 static HRESULT WINAPI
HTMLElement2_setCapture(IHTMLElement2
*iface
, VARIANT_BOOL containerCapture
)
104 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
105 FIXME("(%p)->(%x)\n", This
, containerCapture
);
109 static HRESULT WINAPI
HTMLElement2_releaseCapture(IHTMLElement2
*iface
)
111 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
112 FIXME("(%p)\n", This
);
116 static HRESULT WINAPI
HTMLElement2_put_onlosecapture(IHTMLElement2
*iface
, VARIANT v
)
118 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
119 FIXME("(%p)->()\n", This
);
123 static HRESULT WINAPI
HTMLElement2_get_onlosecapture(IHTMLElement2
*iface
, VARIANT
*p
)
125 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
126 FIXME("(%p)->(%p)\n", This
, p
);
130 static HRESULT WINAPI
HTMLElement2_componentFromPoint(IHTMLElement2
*iface
,
131 long x
, long y
, BSTR
*component
)
133 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
134 FIXME("(%p)->(%ld %ld %p)\n", This
, x
, y
, component
);
138 static HRESULT WINAPI
HTMLElement2_doScroll(IHTMLElement2
*iface
, VARIANT component
)
140 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
141 FIXME("(%p)->()\n", This
);
145 static HRESULT WINAPI
HTMLElement2_put_onscroll(IHTMLElement2
*iface
, VARIANT v
)
147 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
148 FIXME("(%p)->()\n", This
);
152 static HRESULT WINAPI
HTMLElement2_get_onscroll(IHTMLElement2
*iface
, VARIANT
*p
)
154 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
155 FIXME("(%p)->(%p)\n", This
, p
);
159 static HRESULT WINAPI
HTMLElement2_put_ondrag(IHTMLElement2
*iface
, VARIANT v
)
161 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
162 FIXME("(%p)->()\n", This
);
166 static HRESULT WINAPI
HTMLElement2_get_ondrag(IHTMLElement2
*iface
, VARIANT
*p
)
168 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
169 FIXME("(%p)->(%p)\n", This
, p
);
173 static HRESULT WINAPI
HTMLElement2_put_ondragend(IHTMLElement2
*iface
, VARIANT v
)
175 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
176 FIXME("(%p)->()\n", This
);
180 static HRESULT WINAPI
HTMLElement2_get_ondragend(IHTMLElement2
*iface
, VARIANT
*p
)
182 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
183 FIXME("(%p)->(%p)\n", This
, p
);
187 static HRESULT WINAPI
HTMLElement2_put_ondragenter(IHTMLElement2
*iface
, VARIANT v
)
189 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
190 FIXME("(%p)->()\n", This
);
194 static HRESULT WINAPI
HTMLElement2_get_ondragenter(IHTMLElement2
*iface
, VARIANT
*p
)
196 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
197 FIXME("(%p)->(%p)\n", This
, p
);
201 static HRESULT WINAPI
HTMLElement2_put_ondragover(IHTMLElement2
*iface
, VARIANT v
)
203 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
204 FIXME("(%p)->()\n", This
);
208 static HRESULT WINAPI
HTMLElement2_get_ondragover(IHTMLElement2
*iface
, VARIANT
*p
)
210 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
211 FIXME("(%p)->(%p)\n", This
, p
);
215 static HRESULT WINAPI
HTMLElement2_put_ondragleave(IHTMLElement2
*iface
, VARIANT v
)
217 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
218 FIXME("(%p)->()\n", This
);
222 static HRESULT WINAPI
HTMLElement2_get_ondragleave(IHTMLElement2
*iface
, VARIANT
*p
)
224 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
225 FIXME("(%p)->(%p)\n", This
, p
);
229 static HRESULT WINAPI
HTMLElement2_put_ondrop(IHTMLElement2
*iface
, VARIANT v
)
231 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
232 FIXME("(%p)->()\n", This
);
236 static HRESULT WINAPI
HTMLElement2_get_ondrop(IHTMLElement2
*iface
, VARIANT
*p
)
238 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
239 FIXME("(%p)->(%p)\n", This
, p
);
243 static HRESULT WINAPI
HTMLElement2_put_onbeforecut(IHTMLElement2
*iface
, VARIANT v
)
245 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
246 FIXME("(%p)->()\n", This
);
250 static HRESULT WINAPI
HTMLElement2_get_onbeforecut(IHTMLElement2
*iface
, VARIANT
*p
)
252 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
253 FIXME("(%p)->(%p)\n", This
, p
);
257 static HRESULT WINAPI
HTMLElement2_put_oncut(IHTMLElement2
*iface
, VARIANT v
)
259 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
260 FIXME("(%p)->()\n", This
);
264 static HRESULT WINAPI
HTMLElement2_get_oncut(IHTMLElement2
*iface
, VARIANT
*p
)
266 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
267 FIXME("(%p)->(%p)\n", This
, p
);
271 static HRESULT WINAPI
HTMLElement2_put_onbeforecopy(IHTMLElement2
*iface
, VARIANT v
)
273 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
274 FIXME("(%p)->()\n", This
);
278 static HRESULT WINAPI
HTMLElement2_get_onbeforecopy(IHTMLElement2
*iface
, VARIANT
*p
)
280 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
281 FIXME("(%p)->(%p)\n", This
, p
);
285 static HRESULT WINAPI
HTMLElement2_put_oncopy(IHTMLElement2
*iface
, VARIANT v
)
287 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
288 FIXME("(%p)->()\n", This
);
292 static HRESULT WINAPI
HTMLElement2_get_oncopy(IHTMLElement2
*iface
, VARIANT
*p
)
294 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
295 FIXME("(%p)->(%p)\n", This
, p
);
299 static HRESULT WINAPI
HTMLElement2_put_onbeforepaste(IHTMLElement2
*iface
, VARIANT v
)
301 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
302 FIXME("(%p)->()\n", This
);
306 static HRESULT WINAPI
HTMLElement2_get_onbeforepaste(IHTMLElement2
*iface
, VARIANT
*p
)
308 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
309 FIXME("(%p)->(%p)\n", This
, p
);
313 static HRESULT WINAPI
HTMLElement2_put_onpaste(IHTMLElement2
*iface
, VARIANT v
)
315 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
316 FIXME("(%p)->()\n", This
);
320 static HRESULT WINAPI
HTMLElement2_get_onpaste(IHTMLElement2
*iface
, VARIANT
*p
)
322 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
323 FIXME("(%p)->(%p)\n", This
, p
);
327 static HRESULT WINAPI
HTMLElement2_get_currentStyle(IHTMLElement2
*iface
, IHTMLCurrentStyle
**p
)
329 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
330 FIXME("(%p)->(%p)\n", This
, p
);
334 static HRESULT WINAPI
HTMLElement2_put_onpropertychange(IHTMLElement2
*iface
, VARIANT v
)
336 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
337 FIXME("(%p)->()\n", This
);
341 static HRESULT WINAPI
HTMLElement2_get_onpropertychange(IHTMLElement2
*iface
, VARIANT
*p
)
343 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
344 FIXME("(%p)->(%p)\n", This
, p
);
348 static HRESULT WINAPI
HTMLElement2_getClientRects(IHTMLElement2
*iface
, IHTMLRectCollection
**pRectCol
)
350 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
351 FIXME("(%p)->(%p)\n", This
, pRectCol
);
355 static HRESULT WINAPI
HTMLElement2_getBoundingClientRect(IHTMLElement2
*iface
, IHTMLRect
**pRect
)
357 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
358 FIXME("(%p)->(%p)\n", This
, pRect
);
362 static HRESULT WINAPI
HTMLElement2_setExpression(IHTMLElement2
*iface
, BSTR propname
,
363 BSTR expression
, BSTR language
)
365 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
366 FIXME("(%p)->(%s %s %s)\n", This
, debugstr_w(propname
), debugstr_w(expression
),
367 debugstr_w(language
));
371 static HRESULT WINAPI
HTMLElement2_getExpression(IHTMLElement2
*iface
, BSTR propname
,
374 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
375 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(propname
), expression
);
379 static HRESULT WINAPI
HTMLElement2_removeExpression(IHTMLElement2
*iface
, BSTR propname
,
380 VARIANT_BOOL
*pfSuccess
)
382 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
383 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(propname
), pfSuccess
);
387 static HRESULT WINAPI
HTMLElement2_put_tabIndex(IHTMLElement2
*iface
, short v
)
389 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
390 FIXME("(%p)->(%d)\n", This
, v
);
394 static HRESULT WINAPI
HTMLElement2_get_tabIndex(IHTMLElement2
*iface
, short *p
)
396 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
397 FIXME("(%p)->(%p)\n", This
, p
);
401 static HRESULT WINAPI
HTMLElement2_focus(IHTMLElement2
*iface
)
403 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
404 FIXME("(%p)\n", This
);
408 static HRESULT WINAPI
HTMLElement2_put_accessKey(IHTMLElement2
*iface
, BSTR v
)
410 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
411 FIXME("(%p)->(%s)\n", This
, debugstr_w(v
));
415 static HRESULT WINAPI
HTMLElement2_get_accessKey(IHTMLElement2
*iface
, BSTR
*p
)
417 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
418 FIXME("(%p)->(%p)\n", This
, p
);
422 static HRESULT WINAPI
HTMLElement2_put_onblur(IHTMLElement2
*iface
, VARIANT v
)
424 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
425 FIXME("(%p)->()\n", This
);
429 static HRESULT WINAPI
HTMLElement2_get_onblur(IHTMLElement2
*iface
, VARIANT
*p
)
431 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
432 FIXME("(%p)->(%p)\n", This
, p
);
436 static HRESULT WINAPI
HTMLElement2_put_onfocus(IHTMLElement2
*iface
, VARIANT v
)
438 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
439 FIXME("(%p)->()\n", This
);
443 static HRESULT WINAPI
HTMLElement2_get_onfocus(IHTMLElement2
*iface
, VARIANT
*p
)
445 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
446 FIXME("(%p)->(%p)\n", This
, p
);
450 static HRESULT WINAPI
HTMLElement2_put_onresize(IHTMLElement2
*iface
, VARIANT v
)
452 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
453 FIXME("(%p)->()\n", This
);
457 static HRESULT WINAPI
HTMLElement2_get_onresize(IHTMLElement2
*iface
, VARIANT
*p
)
459 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
460 FIXME("(%p)->(%p)\n", This
, p
);
464 static HRESULT WINAPI
HTMLElement2_blur(IHTMLElement2
*iface
)
466 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
467 FIXME("(%p)\n", This
);
471 static HRESULT WINAPI
HTMLElement2_addFilter(IHTMLElement2
*iface
, IUnknown
*pUnk
)
473 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
474 FIXME("(%p)->(%p)\n", This
, pUnk
);
478 static HRESULT WINAPI
HTMLElement2_removeFilter(IHTMLElement2
*iface
, IUnknown
*pUnk
)
480 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
481 FIXME("(%p)->(%p)\n", This
, pUnk
);
485 static HRESULT WINAPI
HTMLElement2_get_clientHeight(IHTMLElement2
*iface
, long *p
)
487 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
488 FIXME("(%p)->(%p)\n", This
, p
);
492 static HRESULT WINAPI
HTMLElement2_get_clientWidth(IHTMLElement2
*iface
, long *p
)
494 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
495 FIXME("(%p)->(%p)\n", This
, p
);
499 static HRESULT WINAPI
HTMLElement2_get_clientTop(IHTMLElement2
*iface
, long *p
)
501 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
502 FIXME("(%p)->(%p)\n", This
, p
);
506 static HRESULT WINAPI
HTMLElement2_get_clientLeft(IHTMLElement2
*iface
, long *p
)
508 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
509 FIXME("(%p)->(%p)\n", This
, p
);
513 static HRESULT WINAPI
HTMLElement2_attachEvent(IHTMLElement2
*iface
, BSTR event
,
514 IDispatch
*pDisp
, VARIANT_BOOL
*pfResult
)
516 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
517 FIXME("(%p)->(%s %p %p)\n", This
, debugstr_w(event
), pDisp
, pfResult
);
521 static HRESULT WINAPI
HTMLElement2_detachEvent(IHTMLElement2
*iface
, BSTR event
, IDispatch
*pDisp
)
523 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
524 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(event
), pDisp
);
528 static HRESULT WINAPI
HTMLElement2_get_readyState(IHTMLElement2
*iface
, VARIANT
*p
)
530 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
531 FIXME("(%p)->(%p)\n", This
, p
);
535 static HRESULT WINAPI
HTMLElement2_put_onreadystatechange(IHTMLElement2
*iface
, VARIANT v
)
537 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
538 FIXME("(%p)->()\n", This
);
542 static HRESULT WINAPI
HTMLElement2_get_onreadystatechange(IHTMLElement2
*iface
, VARIANT
*p
)
544 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
545 FIXME("(%p)->(%p)\n", This
, p
);
549 static HRESULT WINAPI
HTMLElement2_put_onrowsdelete(IHTMLElement2
*iface
, VARIANT v
)
551 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
552 FIXME("(%p)->()\n", This
);
556 static HRESULT WINAPI
HTMLElement2_get_onrowsdelete(IHTMLElement2
*iface
, VARIANT
*p
)
558 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
559 FIXME("(%p)->(%p)\n", This
, p
);
563 static HRESULT WINAPI
HTMLElement2_put_onrowsinserted(IHTMLElement2
*iface
, VARIANT v
)
565 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
566 FIXME("(%p)->()\n", This
);
570 static HRESULT WINAPI
HTMLElement2_get_onrowsinserted(IHTMLElement2
*iface
, VARIANT
*p
)
572 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
573 FIXME("(%p)->(%p)\n", This
, p
);
577 static HRESULT WINAPI
HTMLElement2_put_oncellchange(IHTMLElement2
*iface
, VARIANT v
)
579 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
580 FIXME("(%p)->()\n", This
);
584 static HRESULT WINAPI
HTMLElement2_get_oncellchange(IHTMLElement2
*iface
, VARIANT
*p
)
586 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
587 FIXME("(%p)->(%p)\n", This
, p
);
591 static HRESULT WINAPI
HTMLElement2_put_dir(IHTMLElement2
*iface
, BSTR v
)
593 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
594 FIXME("(%p)->(%s)\n", This
, debugstr_w(v
));
598 static HRESULT WINAPI
HTMLElement2_get_dir(IHTMLElement2
*iface
, BSTR
*p
)
600 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
602 TRACE("(%p)->(%p)\n", This
, p
);
610 nsAString_Init(&dir_str
, NULL
);
612 nsres
= nsIDOMHTMLElement_GetDir(This
->nselem
, &dir_str
);
613 if(NS_SUCCEEDED(nsres
)) {
614 const PRUnichar
*dir
;
615 nsAString_GetData(&dir_str
, &dir
);
617 *p
= SysAllocString(dir
);
619 ERR("GetDir failed: %08x\n", nsres
);
622 nsAString_Finish(&dir_str
);
625 TRACE("ret %s\n", debugstr_w(*p
));
629 static HRESULT WINAPI
HTMLElement2_createControlRange(IHTMLElement2
*iface
, IDispatch
**range
)
631 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
632 FIXME("(%p)->(%p)\n", This
, range
);
636 static HRESULT WINAPI
HTMLElement2_get_scrollHeight(IHTMLElement2
*iface
, long *p
)
638 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
639 FIXME("(%p)->(%p)\n", This
, p
);
643 static HRESULT WINAPI
HTMLElement2_get_scrollWidth(IHTMLElement2
*iface
, long *p
)
645 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
646 FIXME("(%p)->(%p)\n", This
, p
);
650 static HRESULT WINAPI
HTMLElement2_put_scrollTop(IHTMLElement2
*iface
, long v
)
652 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
653 nsIDOMNSHTMLElement
*nselem
;
656 TRACE("(%p)->(%ld)\n", This
, v
);
658 nsres
= nsIDOMHTMLElement_QueryInterface(This
->nselem
, &IID_nsIDOMNSHTMLElement
, (void**)&nselem
);
659 if(NS_SUCCEEDED(nsres
)) {
660 nsIDOMNSHTMLElement_SetScrollTop(nselem
, v
);
661 nsIDOMNSHTMLElement_Release(nselem
);
663 ERR("Could not get nsIDOMNSHTMLElement interface: %08x\n", nsres
);
669 static HRESULT WINAPI
HTMLElement2_get_scrollTop(IHTMLElement2
*iface
, long *p
)
671 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
672 FIXME("(%p)->(%p)\n", This
, p
);
676 static HRESULT WINAPI
HTMLElement2_put_scrollLeft(IHTMLElement2
*iface
, long v
)
678 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
679 nsIDOMNSHTMLElement
*nselem
;
682 TRACE("(%p)->(%ld)\n", This
, v
);
684 nsres
= nsIDOMHTMLElement_QueryInterface(This
->nselem
, &IID_nsIDOMNSHTMLElement
, (void**)&nselem
);
685 if(NS_SUCCEEDED(nsres
)) {
686 nsIDOMNSHTMLElement_SetScrollLeft(nselem
, v
);
687 nsIDOMNSHTMLElement_Release(nselem
);
689 ERR("Could not get nsIDOMNSHTMLElement interface: %08x\n", nsres
);
695 static HRESULT WINAPI
HTMLElement2_get_scrollLeft(IHTMLElement2
*iface
, long *p
)
697 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
698 FIXME("(%p)->(%p)\n", This
, p
);
702 static HRESULT WINAPI
HTMLElement2_clearAttributes(IHTMLElement2
*iface
)
704 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
705 FIXME("(%p)\n", This
);
709 static HRESULT WINAPI
HTMLElement2_mergeAttributes(IHTMLElement2
*iface
, IHTMLElement
*mergeThis
)
711 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
712 FIXME("(%p)->(%p)\n", This
, mergeThis
);
716 static HRESULT WINAPI
HTMLElement2_put_oncontextmenu(IHTMLElement2
*iface
, VARIANT v
)
718 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
719 FIXME("(%p)->()\n", This
);
723 static HRESULT WINAPI
HTMLElement2_get_oncontextmenu(IHTMLElement2
*iface
, VARIANT
*p
)
725 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
726 FIXME("(%p)->(%p)\n", This
, p
);
730 static HRESULT WINAPI
HTMLElement2_insertAdjecentElement(IHTMLElement2
*iface
, BSTR where
,
731 IHTMLElement
*insertedElement
, IHTMLElement
**inserted
)
733 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
734 FIXME("(%p)->(%s %p %p)\n", This
, debugstr_w(where
), insertedElement
, inserted
);
738 static HRESULT WINAPI
HTMLElement2_applyElement(IHTMLElement2
*iface
, IHTMLElement
*apply
,
739 BSTR where
, IHTMLElement
**applied
)
741 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
742 FIXME("(%p)->(%p %s %p)\n", This
, apply
, debugstr_w(where
), applied
);
746 static HRESULT WINAPI
HTMLElement2_getAdjecentText(IHTMLElement2
*iface
, BSTR where
, BSTR
*text
)
748 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
749 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(where
), text
);
753 static HRESULT WINAPI
HTMLElement2_replaceAdjecentText(IHTMLElement2
*iface
, BSTR where
,
754 BSTR newText
, BSTR
*oldText
)
756 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
757 FIXME("(%p)->(%s %s %p)\n", This
, debugstr_w(where
), debugstr_w(newText
), oldText
);
761 static HRESULT WINAPI
HTMLElement2_get_canHandleChildren(IHTMLElement2
*iface
, VARIANT_BOOL
*p
)
763 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
764 FIXME("(%p)->(%p)\n", This
, p
);
768 static HRESULT WINAPI
HTMLElement2_addBehavior(IHTMLElement2
*iface
, BSTR bstrUrl
,
769 VARIANT
*pvarFactory
, long *pCookie
)
771 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
772 FIXME("(%p)->(%s %p %p)\n", This
, debugstr_w(bstrUrl
), pvarFactory
, pCookie
);
776 static HRESULT WINAPI
HTMLElement2_removeBehavior(IHTMLElement2
*iface
, long cookie
,
777 VARIANT_BOOL
*pfResult
)
779 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
780 FIXME("(%p)->(%ld %p)\n", This
, cookie
, pfResult
);
784 static HRESULT WINAPI
HTMLElement2_get_runtimeStyle(IHTMLElement2
*iface
, IHTMLStyle
**p
)
786 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
787 FIXME("(%p)->(%p)\n", This
, p
);
791 static HRESULT WINAPI
HTMLElement2_get_behaviorUrns(IHTMLElement2
*iface
, IDispatch
**p
)
793 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
794 FIXME("(%p)->(%p)\n", This
, p
);
798 static HRESULT WINAPI
HTMLElement2_put_tagUrn(IHTMLElement2
*iface
, BSTR v
)
800 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
801 FIXME("(%p)->(%s)\n", This
, debugstr_w(v
));
805 static HRESULT WINAPI
HTMLElement2_get_tagUrn(IHTMLElement2
*iface
, BSTR
*p
)
807 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
808 FIXME("(%p)->(%p)\n", This
, p
);
812 static HRESULT WINAPI
HTMLElement2_put_onbeforeeditfocus(IHTMLElement2
*iface
, VARIANT vv
)
814 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
815 FIXME("(%p)->()\n", This
);
819 static HRESULT WINAPI
HTMLElement2_get_onbeforeeditfocus(IHTMLElement2
*iface
, VARIANT
*p
)
821 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
822 FIXME("(%p)->(%p)\n", This
, p
);
826 static HRESULT WINAPI
HTMLElement2_get_readyStateValue(IHTMLElement2
*iface
, long *p
)
828 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
829 FIXME("(%p)->(%p)\n", This
, p
);
833 static HRESULT WINAPI
HTMLElement2_getElementByTagName(IHTMLElement2
*iface
, BSTR v
,
834 IHTMLElementCollection
**pelColl
)
836 HTMLElement
*This
= HTMLELEM2_THIS(iface
);
837 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(v
), pelColl
);
841 #undef HTMLELEM2_THIS
843 static const IHTMLElement2Vtbl HTMLElement2Vtbl
= {
844 HTMLElement2_QueryInterface
,
846 HTMLElement2_Release
,
847 HTMLElement2_GetTypeInfoCount
,
848 HTMLElement2_GetTypeInfo
,
849 HTMLElement2_GetIDsOfNames
,
851 HTMLElement2_get_scopeName
,
852 HTMLElement2_setCapture
,
853 HTMLElement2_releaseCapture
,
854 HTMLElement2_put_onlosecapture
,
855 HTMLElement2_get_onlosecapture
,
856 HTMLElement2_componentFromPoint
,
857 HTMLElement2_doScroll
,
858 HTMLElement2_put_onscroll
,
859 HTMLElement2_get_onscroll
,
860 HTMLElement2_put_ondrag
,
861 HTMLElement2_get_ondrag
,
862 HTMLElement2_put_ondragend
,
863 HTMLElement2_get_ondragend
,
864 HTMLElement2_put_ondragenter
,
865 HTMLElement2_get_ondragenter
,
866 HTMLElement2_put_ondragover
,
867 HTMLElement2_get_ondragover
,
868 HTMLElement2_put_ondragleave
,
869 HTMLElement2_get_ondragleave
,
870 HTMLElement2_put_ondrop
,
871 HTMLElement2_get_ondrop
,
872 HTMLElement2_put_onbeforecut
,
873 HTMLElement2_get_onbeforecut
,
874 HTMLElement2_put_oncut
,
875 HTMLElement2_get_oncut
,
876 HTMLElement2_put_onbeforecopy
,
877 HTMLElement2_get_onbeforecopy
,
878 HTMLElement2_put_oncopy
,
879 HTMLElement2_get_oncopy
,
880 HTMLElement2_put_onbeforepaste
,
881 HTMLElement2_get_onbeforepaste
,
882 HTMLElement2_put_onpaste
,
883 HTMLElement2_get_onpaste
,
884 HTMLElement2_get_currentStyle
,
885 HTMLElement2_put_onpropertychange
,
886 HTMLElement2_get_onpropertychange
,
887 HTMLElement2_getClientRects
,
888 HTMLElement2_getBoundingClientRect
,
889 HTMLElement2_setExpression
,
890 HTMLElement2_getExpression
,
891 HTMLElement2_removeExpression
,
892 HTMLElement2_put_tabIndex
,
893 HTMLElement2_get_tabIndex
,
895 HTMLElement2_put_accessKey
,
896 HTMLElement2_get_accessKey
,
897 HTMLElement2_put_onblur
,
898 HTMLElement2_get_onblur
,
899 HTMLElement2_put_onfocus
,
900 HTMLElement2_get_onfocus
,
901 HTMLElement2_put_onresize
,
902 HTMLElement2_get_onresize
,
904 HTMLElement2_addFilter
,
905 HTMLElement2_removeFilter
,
906 HTMLElement2_get_clientHeight
,
907 HTMLElement2_get_clientWidth
,
908 HTMLElement2_get_clientTop
,
909 HTMLElement2_get_clientLeft
,
910 HTMLElement2_attachEvent
,
911 HTMLElement2_detachEvent
,
912 HTMLElement2_get_readyState
,
913 HTMLElement2_put_onreadystatechange
,
914 HTMLElement2_get_onreadystatechange
,
915 HTMLElement2_put_onrowsdelete
,
916 HTMLElement2_get_onrowsdelete
,
917 HTMLElement2_put_onrowsinserted
,
918 HTMLElement2_get_onrowsinserted
,
919 HTMLElement2_put_oncellchange
,
920 HTMLElement2_get_oncellchange
,
921 HTMLElement2_put_dir
,
922 HTMLElement2_get_dir
,
923 HTMLElement2_createControlRange
,
924 HTMLElement2_get_scrollHeight
,
925 HTMLElement2_get_scrollWidth
,
926 HTMLElement2_put_scrollTop
,
927 HTMLElement2_get_scrollTop
,
928 HTMLElement2_put_scrollLeft
,
929 HTMLElement2_get_scrollLeft
,
930 HTMLElement2_clearAttributes
,
931 HTMLElement2_mergeAttributes
,
932 HTMLElement2_put_oncontextmenu
,
933 HTMLElement2_get_oncontextmenu
,
934 HTMLElement2_insertAdjecentElement
,
935 HTMLElement2_applyElement
,
936 HTMLElement2_getAdjecentText
,
937 HTMLElement2_replaceAdjecentText
,
938 HTMLElement2_get_canHandleChildren
,
939 HTMLElement2_addBehavior
,
940 HTMLElement2_removeBehavior
,
941 HTMLElement2_get_runtimeStyle
,
942 HTMLElement2_get_behaviorUrns
,
943 HTMLElement2_put_tagUrn
,
944 HTMLElement2_get_tagUrn
,
945 HTMLElement2_put_onbeforeeditfocus
,
946 HTMLElement2_get_onbeforeeditfocus
,
947 HTMLElement2_get_readyStateValue
,
948 HTMLElement2_getElementByTagName
,
951 void HTMLElement2_Init(HTMLElement
*This
)
953 This
->lpHTMLElement2Vtbl
= &HTMLElement2Vtbl
;