gdi32: Fix leak in GdiDeleteSpoolFileHandle.
[wine.git] / dlls / ieframe / iehtmlwnd.c
blobde211fc784f7d4589549664692daa646f6ff8bb9
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 HRESULT get_window(DocHost *doc_host, IHTMLWindow2 **ret)
27 IHTMLDocument2 *doc_obj;
28 HRESULT hres;
30 if(!doc_host->document) {
31 *ret = NULL;
32 return S_OK;
35 hres = IUnknown_QueryInterface(doc_host->document, &IID_IHTMLDocument2, (void**)&doc_obj);
36 if(FAILED(hres))
37 return hres;
39 hres = IHTMLDocument2_get_parentWindow(doc_obj, ret);
40 IHTMLDocument2_Release(doc_obj);
41 return hres;
44 static inline IEHTMLWindow *impl_from_IHTMLWindow2(IHTMLWindow2 *iface)
46 return CONTAINING_RECORD(iface, IEHTMLWindow, IHTMLWindow2_iface);
49 static HRESULT WINAPI IEHTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID riid, void **ppv)
51 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
53 if(IsEqualGUID(&IID_IUnknown, riid)) {
54 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
55 *ppv = &This->IHTMLWindow2_iface;
56 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
57 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
58 *ppv = &This->IHTMLWindow2_iface;
59 }else if(IsEqualGUID(&IID_IHTMLFramesCollection2, riid)) {
60 TRACE("(%p)->(IID_IHTMLFramesCollection2 %p)\n", This, ppv);
61 *ppv = &This->IHTMLWindow2_iface;
62 }else if(IsEqualGUID(&IID_IHTMLWindow2, riid)) {
63 TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv);
64 *ppv = &This->IHTMLWindow2_iface;
65 }else {
66 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
67 *ppv = NULL;
68 return E_NOINTERFACE;
71 IUnknown_AddRef((IUnknown*)*ppv);
72 return S_OK;
75 static ULONG WINAPI IEHTMLWindow2_AddRef(IHTMLWindow2 *iface)
77 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
79 TRACE("(%p)\n", This);
81 return IOleClientSite_AddRef(&This->doc_host->IOleClientSite_iface);
84 static ULONG WINAPI IEHTMLWindow2_Release(IHTMLWindow2 *iface)
86 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
88 TRACE("(%p)\n", This);
90 return IOleClientSite_Release(&This->doc_host->IOleClientSite_iface);
93 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfoCount(IHTMLWindow2 *iface, UINT *pctinfo)
95 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
96 FIXME("(%p)->()\n", This);
97 return E_NOTIMPL;
100 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfo(IHTMLWindow2 *iface, UINT iTInfo,
101 LCID lcid, ITypeInfo **ppTInfo)
103 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
104 FIXME("(%p)->()\n", This);
105 return E_NOTIMPL;
108 static HRESULT WINAPI IEHTMLWindow2_GetIDsOfNames(IHTMLWindow2 *iface, REFIID riid,
109 LPOLESTR *rgszNames, UINT cNames,
110 LCID lcid, DISPID *rgDispId)
112 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
113 FIXME("(%p)->()\n", This);
114 return E_NOTIMPL;
117 static HRESULT WINAPI IEHTMLWindow2_Invoke(IHTMLWindow2 *iface, DISPID dispIdMember,
118 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
119 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
121 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
122 FIXME("(%p)->()\n", This);
123 return E_NOTIMPL;
126 static HRESULT WINAPI IEHTMLWindow2_item(IHTMLWindow2 *iface, VARIANT *pvarIndex, VARIANT *pvarResult)
128 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
129 FIXME("(%p)->(%s %p)\n", This, debugstr_variant(pvarIndex), pvarResult);
130 return E_NOTIMPL;
133 static HRESULT WINAPI IEHTMLWindow2_get_length(IHTMLWindow2 *iface, LONG *p)
135 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
136 FIXME("(%p)->(%p)\n", This, p);
137 return E_NOTIMPL;
140 static HRESULT WINAPI IEHTMLWindow2_get_frames(IHTMLWindow2 *iface, IHTMLFramesCollection2 **p)
142 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
143 FIXME("(%p)->(%p)\n", This, p);
144 return E_NOTIMPL;
147 static HRESULT WINAPI IEHTMLWindow2_put_defaultStatus(IHTMLWindow2 *iface, BSTR v)
149 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
150 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
151 return E_NOTIMPL;
154 static HRESULT WINAPI IEHTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p)
156 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
157 FIXME("(%p)->(%p)\n", This, p);
158 return E_NOTIMPL;
161 static HRESULT WINAPI IEHTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v)
163 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
164 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
165 return E_NOTIMPL;
168 static HRESULT WINAPI IEHTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p)
170 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
171 FIXME("(%p)->(%p)\n", This, p);
172 return E_NOTIMPL;
175 static HRESULT WINAPI IEHTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression,
176 LONG msec, VARIANT *language, LONG *timerID)
178 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
179 FIXME("(%p)->(%s %ld %s %p)\n", This, debugstr_w(expression), msec, debugstr_variant(language), timerID);
180 return E_NOTIMPL;
183 static HRESULT WINAPI IEHTMLWindow2_clearTimeout(IHTMLWindow2 *iface, LONG timerID)
185 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
186 FIXME("(%p)->(%ld)\n", This, timerID);
187 return E_NOTIMPL;
190 static HRESULT WINAPI IEHTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
192 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
193 FIXME("(%p)->(%s)\n", This, debugstr_w(message));
194 return E_NOTIMPL;
197 static HRESULT WINAPI IEHTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message,
198 VARIANT_BOOL *confirmed)
200 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
201 FIXME("(%p)->(%s %p)\n", This, debugstr_w(message), confirmed);
202 return E_NOTIMPL;
205 static HRESULT WINAPI IEHTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message,
206 BSTR dststr, VARIANT *textdata)
208 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
209 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(message), debugstr_w(dststr), textdata);
210 return E_NOTIMPL;
213 static HRESULT WINAPI IEHTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageElementFactory **p)
215 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
216 FIXME("(%p)->(%p)\n", This, p);
217 return E_NOTIMPL;
220 static HRESULT WINAPI IEHTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocation **p)
222 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
223 FIXME("(%p)->(%p)\n", This, p);
224 return E_NOTIMPL;
227 static HRESULT WINAPI IEHTMLWindow2_get_history(IHTMLWindow2 *iface, IOmHistory **p)
229 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
230 FIXME("(%p)->(%p)\n", This, p);
231 return E_NOTIMPL;
234 static HRESULT WINAPI IEHTMLWindow2_close(IHTMLWindow2 *iface)
236 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
238 FIXME("(%p) semi-stub\n", This);
240 if(!This->doc_host->wb)
241 return E_UNEXPECTED;
243 return IWebBrowser2_put_Visible(This->doc_host->wb, VARIANT_FALSE);
246 static HRESULT WINAPI IEHTMLWindow2_put_opener(IHTMLWindow2 *iface, VARIANT v)
248 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
249 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
250 return E_NOTIMPL;
253 static HRESULT WINAPI IEHTMLWindow2_get_opener(IHTMLWindow2 *iface, VARIANT *p)
255 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
256 FIXME("(%p)->(%p)\n", This, p);
257 return E_NOTIMPL;
260 static HRESULT WINAPI IEHTMLWindow2_get_navigator(IHTMLWindow2 *iface, IOmNavigator **p)
262 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
263 FIXME("(%p)->(%p)\n", This, p);
264 return E_NOTIMPL;
267 static HRESULT WINAPI IEHTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v)
269 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
270 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
271 return E_NOTIMPL;
274 static HRESULT WINAPI IEHTMLWindow2_get_name(IHTMLWindow2 *iface, BSTR *p)
276 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
277 FIXME("(%p)->(%p)\n", This, p);
278 return E_NOTIMPL;
281 static HRESULT WINAPI IEHTMLWindow2_get_parent(IHTMLWindow2 *iface, IHTMLWindow2 **p)
283 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
284 FIXME("(%p)->(%p)\n", This, p);
285 return E_NOTIMPL;
288 static HRESULT WINAPI IEHTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name,
289 BSTR features, VARIANT_BOOL replace, IHTMLWindow2 **pomWindowResult)
291 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
292 FIXME("(%p)->(%s %s %s %x %p)\n", This, debugstr_w(url), debugstr_w(name),
293 debugstr_w(features), replace, pomWindowResult);
294 return E_NOTIMPL;
297 static HRESULT WINAPI IEHTMLWindow2_get_self(IHTMLWindow2 *iface, IHTMLWindow2 **p)
299 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
300 FIXME("(%p)->(%p)\n", This, p);
301 return E_NOTIMPL;
304 static HRESULT WINAPI IEHTMLWindow2_get_top(IHTMLWindow2 *iface, IHTMLWindow2 **p)
306 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
307 FIXME("(%p)->(%p)\n", This, p);
308 return E_NOTIMPL;
311 static HRESULT WINAPI IEHTMLWindow2_get_window(IHTMLWindow2 *iface, IHTMLWindow2 **p)
313 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
314 FIXME("(%p)->(%p)\n", This, p);
315 return E_NOTIMPL;
318 static HRESULT WINAPI IEHTMLWindow2_navigate(IHTMLWindow2 *iface, BSTR url)
320 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
321 FIXME("(%p)->(%s)\n", This, debugstr_w(url));
322 return E_NOTIMPL;
325 static HRESULT WINAPI IEHTMLWindow2_put_onfocus(IHTMLWindow2 *iface, VARIANT v)
327 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
328 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
329 return E_NOTIMPL;
332 static HRESULT WINAPI IEHTMLWindow2_get_onfocus(IHTMLWindow2 *iface, VARIANT *p)
334 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
335 FIXME("(%p)->(%p)\n", This, p);
336 return E_NOTIMPL;
339 static HRESULT WINAPI IEHTMLWindow2_put_onblur(IHTMLWindow2 *iface, VARIANT v)
341 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
342 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
343 return E_NOTIMPL;
346 static HRESULT WINAPI IEHTMLWindow2_get_onblur(IHTMLWindow2 *iface, VARIANT *p)
348 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
349 FIXME("(%p)->(%p)\n", This, p);
350 return E_NOTIMPL;
353 static HRESULT WINAPI IEHTMLWindow2_put_onload(IHTMLWindow2 *iface, VARIANT v)
355 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
356 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
357 return E_NOTIMPL;
360 static HRESULT WINAPI IEHTMLWindow2_get_onload(IHTMLWindow2 *iface, VARIANT *p)
362 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
363 FIXME("(%p)->(%p)\n", This, p);
364 return E_NOTIMPL;
367 static HRESULT WINAPI IEHTMLWindow2_put_onbeforeunload(IHTMLWindow2 *iface, VARIANT v)
369 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
370 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
371 return E_NOTIMPL;
374 static HRESULT WINAPI IEHTMLWindow2_get_onbeforeunload(IHTMLWindow2 *iface, VARIANT *p)
376 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
377 FIXME("(%p)->(%p)\n", This, p);
378 return E_NOTIMPL;
381 static HRESULT WINAPI IEHTMLWindow2_put_onunload(IHTMLWindow2 *iface, VARIANT v)
383 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
384 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
385 return E_NOTIMPL;
388 static HRESULT WINAPI IEHTMLWindow2_get_onunload(IHTMLWindow2 *iface, VARIANT *p)
390 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
391 FIXME("(%p)->(%p)\n", This, p);
392 return E_NOTIMPL;
395 static HRESULT WINAPI IEHTMLWindow2_put_onhelp(IHTMLWindow2 *iface, VARIANT v)
397 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
398 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
399 return E_NOTIMPL;
402 static HRESULT WINAPI IEHTMLWindow2_get_onhelp(IHTMLWindow2 *iface, VARIANT *p)
404 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
405 FIXME("(%p)->(%p)\n", This, p);
406 return E_NOTIMPL;
409 static HRESULT WINAPI IEHTMLWindow2_put_onerror(IHTMLWindow2 *iface, VARIANT v)
411 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
412 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
413 return E_NOTIMPL;
416 static HRESULT WINAPI IEHTMLWindow2_get_onerror(IHTMLWindow2 *iface, VARIANT *p)
418 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
419 FIXME("(%p)->(%p)\n", This, p);
420 return E_NOTIMPL;
423 static HRESULT WINAPI IEHTMLWindow2_put_onresize(IHTMLWindow2 *iface, VARIANT v)
425 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
426 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
427 return E_NOTIMPL;
430 static HRESULT WINAPI IEHTMLWindow2_get_onresize(IHTMLWindow2 *iface, VARIANT *p)
432 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
433 FIXME("(%p)->(%p)\n", This, p);
434 return E_NOTIMPL;
437 static HRESULT WINAPI IEHTMLWindow2_put_onscroll(IHTMLWindow2 *iface, VARIANT v)
439 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
440 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
441 return E_NOTIMPL;
444 static HRESULT WINAPI IEHTMLWindow2_get_onscroll(IHTMLWindow2 *iface, VARIANT *p)
446 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
447 FIXME("(%p)->(%p)\n", This, p);
448 return E_NOTIMPL;
451 static HRESULT WINAPI IEHTMLWindow2_get_document(IHTMLWindow2 *iface, IHTMLDocument2 **p)
453 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
454 IHTMLWindow2 *window;
455 HRESULT hres;
457 TRACE("(%p)->(%p)\n", This, p);
459 hres = get_window(This->doc_host, &window);
460 if(FAILED(hres))
461 return hres;
463 if(!window)
464 *p = NULL;
465 else {
466 hres = IHTMLWindow2_get_document(window, p);
467 IHTMLWindow2_Release(window);
469 return hres;
472 static HRESULT WINAPI IEHTMLWindow2_get_event(IHTMLWindow2 *iface, IHTMLEventObj **p)
474 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
475 FIXME("(%p)->(%p)\n", This, p);
476 return E_NOTIMPL;
479 static HRESULT WINAPI IEHTMLWindow2_get__newEnum(IHTMLWindow2 *iface, IUnknown **p)
481 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
482 FIXME("(%p)->(%p)\n", This, p);
483 return E_NOTIMPL;
486 static HRESULT WINAPI IEHTMLWindow2_showModalDialog(IHTMLWindow2 *iface, BSTR dialog,
487 VARIANT *varArgIn, VARIANT *varOptions, VARIANT *varArgOut)
489 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
490 FIXME("(%p)->(%s %s %s %p)\n", This, debugstr_w(dialog), debugstr_variant(varArgIn),
491 debugstr_variant(varOptions), varArgOut);
492 return E_NOTIMPL;
495 static HRESULT WINAPI IEHTMLWindow2_showHelp(IHTMLWindow2 *iface, BSTR helpURL, VARIANT helpArg,
496 BSTR features)
498 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
499 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(helpURL), debugstr_variant(&helpArg), debugstr_w(features));
500 return E_NOTIMPL;
503 static HRESULT WINAPI IEHTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen **p)
505 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
506 FIXME("(%p)->(%p)\n", This, p);
507 return E_NOTIMPL;
510 static HRESULT WINAPI IEHTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionElementFactory **p)
512 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
513 FIXME("(%p)->(%p)\n", This, p);
514 return E_NOTIMPL;
517 static HRESULT WINAPI IEHTMLWindow2_focus(IHTMLWindow2 *iface)
519 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
520 FIXME("(%p)->()\n", This);
521 return E_NOTIMPL;
524 static HRESULT WINAPI IEHTMLWindow2_get_closed(IHTMLWindow2 *iface, VARIANT_BOOL *p)
526 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
527 FIXME("(%p)->(%p)\n", This, p);
528 return E_NOTIMPL;
531 static HRESULT WINAPI IEHTMLWindow2_blur(IHTMLWindow2 *iface)
533 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
534 FIXME("(%p)->()\n", This);
535 return E_NOTIMPL;
538 static HRESULT WINAPI IEHTMLWindow2_scroll(IHTMLWindow2 *iface, LONG x, LONG y)
540 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
541 FIXME("(%p)->(%ld %ld)\n", This, x, y);
542 return E_NOTIMPL;
545 static HRESULT WINAPI IEHTMLWindow2_get_clientInformation(IHTMLWindow2 *iface, IOmNavigator **p)
547 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
548 FIXME("(%p)->(%p)\n", This, p);
549 return E_NOTIMPL;
552 static HRESULT WINAPI IEHTMLWindow2_setInterval(IHTMLWindow2 *iface, BSTR expression,
553 LONG msec, VARIANT *language, LONG *timerID)
555 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
556 FIXME("(%p)->(%s %ld %s %p)\n", This, debugstr_w(expression), msec, debugstr_variant(language), timerID);
557 return E_NOTIMPL;
560 static HRESULT WINAPI IEHTMLWindow2_clearInterval(IHTMLWindow2 *iface, LONG timerID)
562 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
563 FIXME("(%p)->(%ld)\n", This, timerID);
564 return E_NOTIMPL;
567 static HRESULT WINAPI IEHTMLWindow2_put_offscreenBuffering(IHTMLWindow2 *iface, VARIANT v)
569 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
570 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
571 return E_NOTIMPL;
574 static HRESULT WINAPI IEHTMLWindow2_get_offscreenBuffering(IHTMLWindow2 *iface, VARIANT *p)
576 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
577 FIXME("(%p)->(%p)\n", This, p);
578 return E_NOTIMPL;
581 static HRESULT WINAPI IEHTMLWindow2_execScript(IHTMLWindow2 *iface, BSTR scode, BSTR language,
582 VARIANT *pvarRet)
584 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
585 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(scode), debugstr_w(language), pvarRet);
586 return E_NOTIMPL;
589 static HRESULT WINAPI IEHTMLWindow2_toString(IHTMLWindow2 *iface, BSTR *String)
591 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
592 FIXME("(%p)->(%p)\n", This, String);
593 return E_NOTIMPL;
596 static HRESULT WINAPI IEHTMLWindow2_scrollBy(IHTMLWindow2 *iface, LONG x, LONG y)
598 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
599 FIXME("(%p)->(%ld %ld)\n", This, x, y);
600 return E_NOTIMPL;
603 static HRESULT WINAPI IEHTMLWindow2_scrollTo(IHTMLWindow2 *iface, LONG x, LONG y)
605 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
606 FIXME("(%p)->(%ld %ld)\n", This, x, y);
607 return E_NOTIMPL;
610 static HRESULT WINAPI IEHTMLWindow2_moveTo(IHTMLWindow2 *iface, LONG x, LONG y)
612 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
613 FIXME("(%p)->(%ld %ld)\n", This, x, y);
614 return E_NOTIMPL;
617 static HRESULT WINAPI IEHTMLWindow2_moveBy(IHTMLWindow2 *iface, LONG x, LONG y)
619 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
620 FIXME("(%p)->(%ld %ld)\n", This, x, y);
621 return E_NOTIMPL;
624 static HRESULT WINAPI IEHTMLWindow2_resizeTo(IHTMLWindow2 *iface, LONG x, LONG y)
626 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
627 FIXME("(%p)->(%ld %ld)\n", This, x, y);
628 return E_NOTIMPL;
631 static HRESULT WINAPI IEHTMLWindow2_resizeBy(IHTMLWindow2 *iface, LONG x, LONG y)
633 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
634 FIXME("(%p)->(%ld %ld)\n", This, x, y);
635 return E_NOTIMPL;
638 static HRESULT WINAPI IEHTMLWindow2_get_external(IHTMLWindow2 *iface, IDispatch **p)
640 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
641 FIXME("(%p)->(%p)\n", This, p);
642 return E_NOTIMPL;
645 static const IHTMLWindow2Vtbl IEHTMLWindow2Vtbl = {
646 IEHTMLWindow2_QueryInterface,
647 IEHTMLWindow2_AddRef,
648 IEHTMLWindow2_Release,
649 IEHTMLWindow2_GetTypeInfoCount,
650 IEHTMLWindow2_GetTypeInfo,
651 IEHTMLWindow2_GetIDsOfNames,
652 IEHTMLWindow2_Invoke,
653 IEHTMLWindow2_item,
654 IEHTMLWindow2_get_length,
655 IEHTMLWindow2_get_frames,
656 IEHTMLWindow2_put_defaultStatus,
657 IEHTMLWindow2_get_defaultStatus,
658 IEHTMLWindow2_put_status,
659 IEHTMLWindow2_get_status,
660 IEHTMLWindow2_setTimeout,
661 IEHTMLWindow2_clearTimeout,
662 IEHTMLWindow2_alert,
663 IEHTMLWindow2_confirm,
664 IEHTMLWindow2_prompt,
665 IEHTMLWindow2_get_Image,
666 IEHTMLWindow2_get_location,
667 IEHTMLWindow2_get_history,
668 IEHTMLWindow2_close,
669 IEHTMLWindow2_put_opener,
670 IEHTMLWindow2_get_opener,
671 IEHTMLWindow2_get_navigator,
672 IEHTMLWindow2_put_name,
673 IEHTMLWindow2_get_name,
674 IEHTMLWindow2_get_parent,
675 IEHTMLWindow2_open,
676 IEHTMLWindow2_get_self,
677 IEHTMLWindow2_get_top,
678 IEHTMLWindow2_get_window,
679 IEHTMLWindow2_navigate,
680 IEHTMLWindow2_put_onfocus,
681 IEHTMLWindow2_get_onfocus,
682 IEHTMLWindow2_put_onblur,
683 IEHTMLWindow2_get_onblur,
684 IEHTMLWindow2_put_onload,
685 IEHTMLWindow2_get_onload,
686 IEHTMLWindow2_put_onbeforeunload,
687 IEHTMLWindow2_get_onbeforeunload,
688 IEHTMLWindow2_put_onunload,
689 IEHTMLWindow2_get_onunload,
690 IEHTMLWindow2_put_onhelp,
691 IEHTMLWindow2_get_onhelp,
692 IEHTMLWindow2_put_onerror,
693 IEHTMLWindow2_get_onerror,
694 IEHTMLWindow2_put_onresize,
695 IEHTMLWindow2_get_onresize,
696 IEHTMLWindow2_put_onscroll,
697 IEHTMLWindow2_get_onscroll,
698 IEHTMLWindow2_get_document,
699 IEHTMLWindow2_get_event,
700 IEHTMLWindow2_get__newEnum,
701 IEHTMLWindow2_showModalDialog,
702 IEHTMLWindow2_showHelp,
703 IEHTMLWindow2_get_screen,
704 IEHTMLWindow2_get_Option,
705 IEHTMLWindow2_focus,
706 IEHTMLWindow2_get_closed,
707 IEHTMLWindow2_blur,
708 IEHTMLWindow2_scroll,
709 IEHTMLWindow2_get_clientInformation,
710 IEHTMLWindow2_setInterval,
711 IEHTMLWindow2_clearInterval,
712 IEHTMLWindow2_put_offscreenBuffering,
713 IEHTMLWindow2_get_offscreenBuffering,
714 IEHTMLWindow2_execScript,
715 IEHTMLWindow2_toString,
716 IEHTMLWindow2_scrollBy,
717 IEHTMLWindow2_scrollTo,
718 IEHTMLWindow2_moveTo,
719 IEHTMLWindow2_moveBy,
720 IEHTMLWindow2_resizeTo,
721 IEHTMLWindow2_resizeBy,
722 IEHTMLWindow2_get_external
725 void IEHTMLWindow_Init(DocHost *doc_host)
727 doc_host->html_window.IHTMLWindow2_iface.lpVtbl = &IEHTMLWindow2Vtbl;
728 doc_host->html_window.doc_host = doc_host;