ieframe: Added semi-stub IHTMLWindow2::close implementation.
[wine/multimedia.git] / dlls / ieframe / iehtmlwnd.c
blob04f6dfa3f3029d38928effb6cecbe03c9920306e
1 /*
2 * Copyright 2012 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
19 #include "ieframe.h"
21 #include "wine/debug.h"
23 WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
25 static inline IEHTMLWindow *impl_from_IHTMLWindow2(IHTMLWindow2 *iface)
27 return CONTAINING_RECORD(iface, IEHTMLWindow, IHTMLWindow2_iface);
30 static HRESULT WINAPI IEHTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID riid, void **ppv)
32 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
34 if(IsEqualGUID(&IID_IUnknown, riid)) {
35 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
36 *ppv = &This->IHTMLWindow2_iface;
37 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
38 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
39 *ppv = &This->IHTMLWindow2_iface;
40 }else if(IsEqualGUID(&IID_IHTMLFramesCollection2, riid)) {
41 TRACE("(%p)->(IID_IHTMLFramesCollection2 %p)\n", This, ppv);
42 *ppv = &This->IHTMLWindow2_iface;
43 }else if(IsEqualGUID(&IID_IHTMLWindow2, riid)) {
44 TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv);
45 *ppv = &This->IHTMLWindow2_iface;
46 }else {
47 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
48 *ppv = NULL;
49 return E_NOINTERFACE;
52 IUnknown_AddRef((IUnknown*)*ppv);
53 return S_OK;
56 static ULONG WINAPI IEHTMLWindow2_AddRef(IHTMLWindow2 *iface)
58 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
60 TRACE("(%p)\n", This);
62 return IOleClientSite_AddRef(&This->doc_host->IOleClientSite_iface);
65 static ULONG WINAPI IEHTMLWindow2_Release(IHTMLWindow2 *iface)
67 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
69 TRACE("(%p)\n", This);
71 return IOleClientSite_Release(&This->doc_host->IOleClientSite_iface);
74 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfoCount(IHTMLWindow2 *iface, UINT *pctinfo)
76 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
77 FIXME("(%p)->()\n", This);
78 return E_NOTIMPL;
81 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfo(IHTMLWindow2 *iface, UINT iTInfo,
82 LCID lcid, ITypeInfo **ppTInfo)
84 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
85 FIXME("(%p)->()\n", This);
86 return E_NOTIMPL;
89 static HRESULT WINAPI IEHTMLWindow2_GetIDsOfNames(IHTMLWindow2 *iface, REFIID riid,
90 LPOLESTR *rgszNames, UINT cNames,
91 LCID lcid, DISPID *rgDispId)
93 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
94 FIXME("(%p)->()\n", This);
95 return E_NOTIMPL;
98 static HRESULT WINAPI IEHTMLWindow2_Invoke(IHTMLWindow2 *iface, DISPID dispIdMember,
99 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
100 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
102 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
103 FIXME("(%p)->()\n", This);
104 return E_NOTIMPL;
107 static HRESULT WINAPI IEHTMLWindow2_item(IHTMLWindow2 *iface, VARIANT *pvarIndex, VARIANT *pvarResult)
109 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
110 FIXME("(%p)->(%p %p)\n", This, pvarIndex, pvarResult);
111 return E_NOTIMPL;
114 static HRESULT WINAPI IEHTMLWindow2_get_length(IHTMLWindow2 *iface, LONG *p)
116 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
117 FIXME("(%p)->(%p)\n", This, p);
118 return E_NOTIMPL;
121 static HRESULT WINAPI IEHTMLWindow2_get_frames(IHTMLWindow2 *iface, IHTMLFramesCollection2 **p)
123 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
124 FIXME("(%p)->(%p)\n", This, p);
125 return E_NOTIMPL;
128 static HRESULT WINAPI IEHTMLWindow2_put_defaultStatus(IHTMLWindow2 *iface, BSTR v)
130 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
131 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
132 return E_NOTIMPL;
135 static HRESULT WINAPI IEHTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p)
137 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
138 FIXME("(%p)->(%p)\n", This, p);
139 return E_NOTIMPL;
142 static HRESULT WINAPI IEHTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v)
144 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
145 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
146 return E_NOTIMPL;
149 static HRESULT WINAPI IEHTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p)
151 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
152 FIXME("(%p)->(%p)\n", This, p);
153 return E_NOTIMPL;
156 static HRESULT WINAPI IEHTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression,
157 LONG msec, VARIANT *language, LONG *timerID)
159 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
160 FIXME("(%p)->(%s %d %p %p)\n", This, debugstr_w(expression), msec, language, timerID);
161 return E_NOTIMPL;
164 static HRESULT WINAPI IEHTMLWindow2_clearTimeout(IHTMLWindow2 *iface, LONG timerID)
166 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
167 FIXME("(%p)->(%d)\n", This, timerID);
168 return E_NOTIMPL;
171 static HRESULT WINAPI IEHTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
173 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
174 FIXME("(%p)->(%s)\n", This, debugstr_w(message));
175 return E_NOTIMPL;
178 static HRESULT WINAPI IEHTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message,
179 VARIANT_BOOL *confirmed)
181 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
182 FIXME("(%p)->(%s %p)\n", This, debugstr_w(message), confirmed);
183 return E_NOTIMPL;
186 static HRESULT WINAPI IEHTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message,
187 BSTR dststr, VARIANT *textdata)
189 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
190 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(message), debugstr_w(dststr), textdata);
191 return E_NOTIMPL;
194 static HRESULT WINAPI IEHTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageElementFactory **p)
196 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
197 FIXME("(%p)->(%p)\n", This, p);
198 return E_NOTIMPL;
201 static HRESULT WINAPI IEHTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocation **p)
203 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
204 FIXME("(%p)->(%p)\n", This, p);
205 return E_NOTIMPL;
208 static HRESULT WINAPI IEHTMLWindow2_get_history(IHTMLWindow2 *iface, IOmHistory **p)
210 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
211 FIXME("(%p)->(%p)\n", This, p);
212 return E_NOTIMPL;
215 static HRESULT WINAPI IEHTMLWindow2_close(IHTMLWindow2 *iface)
217 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
219 FIXME("(%p) semi-stub\n", This);
221 if(!This->doc_host->wb)
222 return E_UNEXPECTED;
224 return IWebBrowser2_put_Visible(This->doc_host->wb, VARIANT_FALSE);
227 static HRESULT WINAPI IEHTMLWindow2_put_opener(IHTMLWindow2 *iface, VARIANT v)
229 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
230 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
231 return E_NOTIMPL;
234 static HRESULT WINAPI IEHTMLWindow2_get_opener(IHTMLWindow2 *iface, VARIANT *p)
236 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
237 FIXME("(%p)->(%p)\n", This, p);
238 return E_NOTIMPL;
241 static HRESULT WINAPI IEHTMLWindow2_get_navigator(IHTMLWindow2 *iface, IOmNavigator **p)
243 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
244 FIXME("(%p)->(%p)\n", This, p);
245 return E_NOTIMPL;
248 static HRESULT WINAPI IEHTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v)
250 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
251 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
252 return E_NOTIMPL;
255 static HRESULT WINAPI IEHTMLWindow2_get_name(IHTMLWindow2 *iface, BSTR *p)
257 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
258 FIXME("(%p)->(%p)\n", This, p);
259 return E_NOTIMPL;
262 static HRESULT WINAPI IEHTMLWindow2_get_parent(IHTMLWindow2 *iface, IHTMLWindow2 **p)
264 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
265 FIXME("(%p)->(%p)\n", This, p);
266 return E_NOTIMPL;
269 static HRESULT WINAPI IEHTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name,
270 BSTR features, VARIANT_BOOL replace, IHTMLWindow2 **pomWindowResult)
272 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
273 FIXME("(%p)->(%s %s %s %x %p)\n", This, debugstr_w(url), debugstr_w(name),
274 debugstr_w(features), replace, pomWindowResult);
275 return E_NOTIMPL;
278 static HRESULT WINAPI IEHTMLWindow2_get_self(IHTMLWindow2 *iface, IHTMLWindow2 **p)
280 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
281 FIXME("(%p)->(%p)\n", This, p);
282 return E_NOTIMPL;
285 static HRESULT WINAPI IEHTMLWindow2_get_top(IHTMLWindow2 *iface, IHTMLWindow2 **p)
287 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
288 FIXME("(%p)->(%p)\n", This, p);
289 return E_NOTIMPL;
292 static HRESULT WINAPI IEHTMLWindow2_get_window(IHTMLWindow2 *iface, IHTMLWindow2 **p)
294 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
295 FIXME("(%p)->(%p)\n", This, p);
296 return E_NOTIMPL;
299 static HRESULT WINAPI IEHTMLWindow2_navigate(IHTMLWindow2 *iface, BSTR url)
301 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
302 FIXME("(%p)->(%s)\n", This, debugstr_w(url));
303 return E_NOTIMPL;
306 static HRESULT WINAPI IEHTMLWindow2_put_onfocus(IHTMLWindow2 *iface, VARIANT v)
308 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
309 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
310 return E_NOTIMPL;
313 static HRESULT WINAPI IEHTMLWindow2_get_onfocus(IHTMLWindow2 *iface, VARIANT *p)
315 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
316 FIXME("(%p)->(%p)\n", This, p);
317 return E_NOTIMPL;
320 static HRESULT WINAPI IEHTMLWindow2_put_onblur(IHTMLWindow2 *iface, VARIANT v)
322 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
323 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
324 return E_NOTIMPL;
327 static HRESULT WINAPI IEHTMLWindow2_get_onblur(IHTMLWindow2 *iface, VARIANT *p)
329 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
330 FIXME("(%p)->(%p)\n", This, p);
331 return E_NOTIMPL;
334 static HRESULT WINAPI IEHTMLWindow2_put_onload(IHTMLWindow2 *iface, VARIANT v)
336 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
337 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
338 return E_NOTIMPL;
341 static HRESULT WINAPI IEHTMLWindow2_get_onload(IHTMLWindow2 *iface, VARIANT *p)
343 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
344 FIXME("(%p)->(%p)\n", This, p);
345 return E_NOTIMPL;
348 static HRESULT WINAPI IEHTMLWindow2_put_onbeforeunload(IHTMLWindow2 *iface, VARIANT v)
350 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
351 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
352 return E_NOTIMPL;
355 static HRESULT WINAPI IEHTMLWindow2_get_onbeforeunload(IHTMLWindow2 *iface, VARIANT *p)
357 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
358 FIXME("(%p)->(%p)\n", This, p);
359 return E_NOTIMPL;
362 static HRESULT WINAPI IEHTMLWindow2_put_onunload(IHTMLWindow2 *iface, VARIANT v)
364 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
365 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
366 return E_NOTIMPL;
369 static HRESULT WINAPI IEHTMLWindow2_get_onunload(IHTMLWindow2 *iface, VARIANT *p)
371 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
372 FIXME("(%p)->(%p)\n", This, p);
373 return E_NOTIMPL;
376 static HRESULT WINAPI IEHTMLWindow2_put_onhelp(IHTMLWindow2 *iface, VARIANT v)
378 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
379 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
380 return E_NOTIMPL;
383 static HRESULT WINAPI IEHTMLWindow2_get_onhelp(IHTMLWindow2 *iface, VARIANT *p)
385 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
386 FIXME("(%p)->(%p)\n", This, p);
387 return E_NOTIMPL;
390 static HRESULT WINAPI IEHTMLWindow2_put_onerror(IHTMLWindow2 *iface, VARIANT v)
392 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
393 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
394 return E_NOTIMPL;
397 static HRESULT WINAPI IEHTMLWindow2_get_onerror(IHTMLWindow2 *iface, VARIANT *p)
399 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
400 FIXME("(%p)->(%p)\n", This, p);
401 return E_NOTIMPL;
404 static HRESULT WINAPI IEHTMLWindow2_put_onresize(IHTMLWindow2 *iface, VARIANT v)
406 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
407 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
408 return E_NOTIMPL;
411 static HRESULT WINAPI IEHTMLWindow2_get_onresize(IHTMLWindow2 *iface, VARIANT *p)
413 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
414 FIXME("(%p)->(%p)\n", This, p);
415 return E_NOTIMPL;
418 static HRESULT WINAPI IEHTMLWindow2_put_onscroll(IHTMLWindow2 *iface, VARIANT v)
420 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
421 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
422 return E_NOTIMPL;
425 static HRESULT WINAPI IEHTMLWindow2_get_onscroll(IHTMLWindow2 *iface, VARIANT *p)
427 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
428 FIXME("(%p)->(%p)\n", This, p);
429 return E_NOTIMPL;
432 static HRESULT WINAPI IEHTMLWindow2_get_document(IHTMLWindow2 *iface, IHTMLDocument2 **p)
434 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
435 FIXME("(%p)->(%p)\n", This, p);
436 return E_NOTIMPL;
439 static HRESULT WINAPI IEHTMLWindow2_get_event(IHTMLWindow2 *iface, IHTMLEventObj **p)
441 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
442 FIXME("(%p)->(%p)\n", This, p);
443 return E_NOTIMPL;
446 static HRESULT WINAPI IEHTMLWindow2_get__newEnum(IHTMLWindow2 *iface, IUnknown **p)
448 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
449 FIXME("(%p)->(%p)\n", This, p);
450 return E_NOTIMPL;
453 static HRESULT WINAPI IEHTMLWindow2_showModalDialog(IHTMLWindow2 *iface, BSTR dialog,
454 VARIANT *varArgIn, VARIANT *varOptions, VARIANT *varArgOut)
456 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
457 FIXME("(%p)->(%s %p %p %p)\n", This, debugstr_w(dialog), varArgIn, varOptions, varArgOut);
458 return E_NOTIMPL;
461 static HRESULT WINAPI IEHTMLWindow2_showHelp(IHTMLWindow2 *iface, BSTR helpURL, VARIANT helpArg,
462 BSTR features)
464 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
465 FIXME("(%p)->(%s v(%d) %s)\n", This, debugstr_w(helpURL), V_VT(&helpArg), debugstr_w(features));
466 return E_NOTIMPL;
469 static HRESULT WINAPI IEHTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen **p)
471 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
472 FIXME("(%p)->(%p)\n", This, p);
473 return E_NOTIMPL;
476 static HRESULT WINAPI IEHTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionElementFactory **p)
478 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
479 FIXME("(%p)->(%p)\n", This, p);
480 return E_NOTIMPL;
483 static HRESULT WINAPI IEHTMLWindow2_focus(IHTMLWindow2 *iface)
485 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
486 FIXME("(%p)->()\n", This);
487 return E_NOTIMPL;
490 static HRESULT WINAPI IEHTMLWindow2_get_closed(IHTMLWindow2 *iface, VARIANT_BOOL *p)
492 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
493 FIXME("(%p)->(%p)\n", This, p);
494 return E_NOTIMPL;
497 static HRESULT WINAPI IEHTMLWindow2_blur(IHTMLWindow2 *iface)
499 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
500 FIXME("(%p)->()\n", This);
501 return E_NOTIMPL;
504 static HRESULT WINAPI IEHTMLWindow2_scroll(IHTMLWindow2 *iface, LONG x, LONG y)
506 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
507 FIXME("(%p)->(%d %d)\n", This, x, y);
508 return E_NOTIMPL;
511 static HRESULT WINAPI IEHTMLWindow2_get_clientInformation(IHTMLWindow2 *iface, IOmNavigator **p)
513 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
514 FIXME("(%p)->(%p)\n", This, p);
515 return E_NOTIMPL;
518 static HRESULT WINAPI IEHTMLWindow2_setInterval(IHTMLWindow2 *iface, BSTR expression,
519 LONG msec, VARIANT *language, LONG *timerID)
521 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
522 FIXME("(%p)->(%s %d %p %p)\n", This, debugstr_w(expression), msec, language, timerID);
523 return E_NOTIMPL;
526 static HRESULT WINAPI IEHTMLWindow2_clearInterval(IHTMLWindow2 *iface, LONG timerID)
528 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
529 FIXME("(%p)->(%d)\n", This, timerID);
530 return E_NOTIMPL;
533 static HRESULT WINAPI IEHTMLWindow2_put_offscreenBuffering(IHTMLWindow2 *iface, VARIANT v)
535 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
536 FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
537 return E_NOTIMPL;
540 static HRESULT WINAPI IEHTMLWindow2_get_offscreenBuffering(IHTMLWindow2 *iface, VARIANT *p)
542 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
543 FIXME("(%p)->(%p)\n", This, p);
544 return E_NOTIMPL;
547 static HRESULT WINAPI IEHTMLWindow2_execScript(IHTMLWindow2 *iface, BSTR scode, BSTR language,
548 VARIANT *pvarRet)
550 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
551 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(scode), debugstr_w(language), pvarRet);
552 return E_NOTIMPL;
555 static HRESULT WINAPI IEHTMLWindow2_toString(IHTMLWindow2 *iface, BSTR *String)
557 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
558 FIXME("(%p)->(%p)\n", This, String);
559 return E_NOTIMPL;
562 static HRESULT WINAPI IEHTMLWindow2_scrollBy(IHTMLWindow2 *iface, LONG x, LONG y)
564 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
565 FIXME("(%p)->(%d %d)\n", This, x, y);
566 return E_NOTIMPL;
569 static HRESULT WINAPI IEHTMLWindow2_scrollTo(IHTMLWindow2 *iface, LONG x, LONG y)
571 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
572 FIXME("(%p)->(%d %d)\n", This, x, y);
573 return E_NOTIMPL;
576 static HRESULT WINAPI IEHTMLWindow2_moveTo(IHTMLWindow2 *iface, LONG x, LONG y)
578 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
579 FIXME("(%p)->(%d %d)\n", This, x, y);
580 return E_NOTIMPL;
583 static HRESULT WINAPI IEHTMLWindow2_moveBy(IHTMLWindow2 *iface, LONG x, LONG y)
585 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
586 FIXME("(%p)->(%d %d)\n", This, x, y);
587 return E_NOTIMPL;
590 static HRESULT WINAPI IEHTMLWindow2_resizeTo(IHTMLWindow2 *iface, LONG x, LONG y)
592 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
593 FIXME("(%p)->(%d %d)\n", This, x, y);
594 return E_NOTIMPL;
597 static HRESULT WINAPI IEHTMLWindow2_resizeBy(IHTMLWindow2 *iface, LONG x, LONG y)
599 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
600 FIXME("(%p)->(%d %d)\n", This, x, y);
601 return E_NOTIMPL;
604 static HRESULT WINAPI IEHTMLWindow2_get_external(IHTMLWindow2 *iface, IDispatch **p)
606 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
607 FIXME("(%p)->(%p)\n", This, p);
608 return E_NOTIMPL;
611 static const IHTMLWindow2Vtbl IEHTMLWindow2Vtbl = {
612 IEHTMLWindow2_QueryInterface,
613 IEHTMLWindow2_AddRef,
614 IEHTMLWindow2_Release,
615 IEHTMLWindow2_GetTypeInfoCount,
616 IEHTMLWindow2_GetTypeInfo,
617 IEHTMLWindow2_GetIDsOfNames,
618 IEHTMLWindow2_Invoke,
619 IEHTMLWindow2_item,
620 IEHTMLWindow2_get_length,
621 IEHTMLWindow2_get_frames,
622 IEHTMLWindow2_put_defaultStatus,
623 IEHTMLWindow2_get_defaultStatus,
624 IEHTMLWindow2_put_status,
625 IEHTMLWindow2_get_status,
626 IEHTMLWindow2_setTimeout,
627 IEHTMLWindow2_clearTimeout,
628 IEHTMLWindow2_alert,
629 IEHTMLWindow2_confirm,
630 IEHTMLWindow2_prompt,
631 IEHTMLWindow2_get_Image,
632 IEHTMLWindow2_get_location,
633 IEHTMLWindow2_get_history,
634 IEHTMLWindow2_close,
635 IEHTMLWindow2_put_opener,
636 IEHTMLWindow2_get_opener,
637 IEHTMLWindow2_get_navigator,
638 IEHTMLWindow2_put_name,
639 IEHTMLWindow2_get_name,
640 IEHTMLWindow2_get_parent,
641 IEHTMLWindow2_open,
642 IEHTMLWindow2_get_self,
643 IEHTMLWindow2_get_top,
644 IEHTMLWindow2_get_window,
645 IEHTMLWindow2_navigate,
646 IEHTMLWindow2_put_onfocus,
647 IEHTMLWindow2_get_onfocus,
648 IEHTMLWindow2_put_onblur,
649 IEHTMLWindow2_get_onblur,
650 IEHTMLWindow2_put_onload,
651 IEHTMLWindow2_get_onload,
652 IEHTMLWindow2_put_onbeforeunload,
653 IEHTMLWindow2_get_onbeforeunload,
654 IEHTMLWindow2_put_onunload,
655 IEHTMLWindow2_get_onunload,
656 IEHTMLWindow2_put_onhelp,
657 IEHTMLWindow2_get_onhelp,
658 IEHTMLWindow2_put_onerror,
659 IEHTMLWindow2_get_onerror,
660 IEHTMLWindow2_put_onresize,
661 IEHTMLWindow2_get_onresize,
662 IEHTMLWindow2_put_onscroll,
663 IEHTMLWindow2_get_onscroll,
664 IEHTMLWindow2_get_document,
665 IEHTMLWindow2_get_event,
666 IEHTMLWindow2_get__newEnum,
667 IEHTMLWindow2_showModalDialog,
668 IEHTMLWindow2_showHelp,
669 IEHTMLWindow2_get_screen,
670 IEHTMLWindow2_get_Option,
671 IEHTMLWindow2_focus,
672 IEHTMLWindow2_get_closed,
673 IEHTMLWindow2_blur,
674 IEHTMLWindow2_scroll,
675 IEHTMLWindow2_get_clientInformation,
676 IEHTMLWindow2_setInterval,
677 IEHTMLWindow2_clearInterval,
678 IEHTMLWindow2_put_offscreenBuffering,
679 IEHTMLWindow2_get_offscreenBuffering,
680 IEHTMLWindow2_execScript,
681 IEHTMLWindow2_toString,
682 IEHTMLWindow2_scrollBy,
683 IEHTMLWindow2_scrollTo,
684 IEHTMLWindow2_moveTo,
685 IEHTMLWindow2_moveBy,
686 IEHTMLWindow2_resizeTo,
687 IEHTMLWindow2_resizeBy,
688 IEHTMLWindow2_get_external
691 void IEHTMLWindow_Init(DocHost *doc_host)
693 doc_host->html_window.IHTMLWindow2_iface.lpVtbl = &IEHTMLWindow2Vtbl;
694 doc_host->html_window.doc_host = doc_host;