[IEFRAME] Sync with Wine Staging 1.7.47. CORE-9924
[reactos.git] / reactos / dll / win32 / ieframe / iehtmlwnd.c
1 /*
2 * Copyright 2012 Jacek Caban for CodeWeavers
3 *
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.
8 *
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.
13 *
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
17 */
18
19 #include "ieframe.h"
20
21 static inline IEHTMLWindow *impl_from_IHTMLWindow2(IHTMLWindow2 *iface)
22 {
23 return CONTAINING_RECORD(iface, IEHTMLWindow, IHTMLWindow2_iface);
24 }
25
26 static HRESULT WINAPI IEHTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID riid, void **ppv)
27 {
28 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
29
30 if(IsEqualGUID(&IID_IUnknown, riid)) {
31 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
32 *ppv = &This->IHTMLWindow2_iface;
33 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
34 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
35 *ppv = &This->IHTMLWindow2_iface;
36 }else if(IsEqualGUID(&IID_IHTMLFramesCollection2, riid)) {
37 TRACE("(%p)->(IID_IHTMLFramesCollection2 %p)\n", This, ppv);
38 *ppv = &This->IHTMLWindow2_iface;
39 }else if(IsEqualGUID(&IID_IHTMLWindow2, riid)) {
40 TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv);
41 *ppv = &This->IHTMLWindow2_iface;
42 }else {
43 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
44 *ppv = NULL;
45 return E_NOINTERFACE;
46 }
47
48 IUnknown_AddRef((IUnknown*)*ppv);
49 return S_OK;
50 }
51
52 static ULONG WINAPI IEHTMLWindow2_AddRef(IHTMLWindow2 *iface)
53 {
54 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
55
56 TRACE("(%p)\n", This);
57
58 return IOleClientSite_AddRef(&This->doc_host->IOleClientSite_iface);
59 }
60
61 static ULONG WINAPI IEHTMLWindow2_Release(IHTMLWindow2 *iface)
62 {
63 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
64
65 TRACE("(%p)\n", This);
66
67 return IOleClientSite_Release(&This->doc_host->IOleClientSite_iface);
68 }
69
70 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfoCount(IHTMLWindow2 *iface, UINT *pctinfo)
71 {
72 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
73 FIXME("(%p)->()\n", This);
74 return E_NOTIMPL;
75 }
76
77 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfo(IHTMLWindow2 *iface, UINT iTInfo,
78 LCID lcid, ITypeInfo **ppTInfo)
79 {
80 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
81 FIXME("(%p)->()\n", This);
82 return E_NOTIMPL;
83 }
84
85 static HRESULT WINAPI IEHTMLWindow2_GetIDsOfNames(IHTMLWindow2 *iface, REFIID riid,
86 LPOLESTR *rgszNames, UINT cNames,
87 LCID lcid, DISPID *rgDispId)
88 {
89 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
90 FIXME("(%p)->()\n", This);
91 return E_NOTIMPL;
92 }
93
94 static HRESULT WINAPI IEHTMLWindow2_Invoke(IHTMLWindow2 *iface, DISPID dispIdMember,
95 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
96 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
97 {
98 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
99 FIXME("(%p)->()\n", This);
100 return E_NOTIMPL;
101 }
102
103 static HRESULT WINAPI IEHTMLWindow2_item(IHTMLWindow2 *iface, VARIANT *pvarIndex, VARIANT *pvarResult)
104 {
105 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
106 FIXME("(%p)->(%s %p)\n", This, debugstr_variant(pvarIndex), pvarResult);
107 return E_NOTIMPL;
108 }
109
110 static HRESULT WINAPI IEHTMLWindow2_get_length(IHTMLWindow2 *iface, LONG *p)
111 {
112 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
113 FIXME("(%p)->(%p)\n", This, p);
114 return E_NOTIMPL;
115 }
116
117 static HRESULT WINAPI IEHTMLWindow2_get_frames(IHTMLWindow2 *iface, IHTMLFramesCollection2 **p)
118 {
119 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
120 FIXME("(%p)->(%p)\n", This, p);
121 return E_NOTIMPL;
122 }
123
124 static HRESULT WINAPI IEHTMLWindow2_put_defaultStatus(IHTMLWindow2 *iface, BSTR v)
125 {
126 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
127 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
128 return E_NOTIMPL;
129 }
130
131 static HRESULT WINAPI IEHTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p)
132 {
133 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
134 FIXME("(%p)->(%p)\n", This, p);
135 return E_NOTIMPL;
136 }
137
138 static HRESULT WINAPI IEHTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v)
139 {
140 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
141 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
142 return E_NOTIMPL;
143 }
144
145 static HRESULT WINAPI IEHTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p)
146 {
147 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
148 FIXME("(%p)->(%p)\n", This, p);
149 return E_NOTIMPL;
150 }
151
152 static HRESULT WINAPI IEHTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression,
153 LONG msec, VARIANT *language, LONG *timerID)
154 {
155 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
156 FIXME("(%p)->(%s %d %s %p)\n", This, debugstr_w(expression), msec, debugstr_variant(language), timerID);
157 return E_NOTIMPL;
158 }
159
160 static HRESULT WINAPI IEHTMLWindow2_clearTimeout(IHTMLWindow2 *iface, LONG timerID)
161 {
162 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
163 FIXME("(%p)->(%d)\n", This, timerID);
164 return E_NOTIMPL;
165 }
166
167 static HRESULT WINAPI IEHTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
168 {
169 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
170 FIXME("(%p)->(%s)\n", This, debugstr_w(message));
171 return E_NOTIMPL;
172 }
173
174 static HRESULT WINAPI IEHTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message,
175 VARIANT_BOOL *confirmed)
176 {
177 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
178 FIXME("(%p)->(%s %p)\n", This, debugstr_w(message), confirmed);
179 return E_NOTIMPL;
180 }
181
182 static HRESULT WINAPI IEHTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message,
183 BSTR dststr, VARIANT *textdata)
184 {
185 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
186 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(message), debugstr_w(dststr), textdata);
187 return E_NOTIMPL;
188 }
189
190 static HRESULT WINAPI IEHTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageElementFactory **p)
191 {
192 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
193 FIXME("(%p)->(%p)\n", This, p);
194 return E_NOTIMPL;
195 }
196
197 static HRESULT WINAPI IEHTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocation **p)
198 {
199 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
200 FIXME("(%p)->(%p)\n", This, p);
201 return E_NOTIMPL;
202 }
203
204 static HRESULT WINAPI IEHTMLWindow2_get_history(IHTMLWindow2 *iface, IOmHistory **p)
205 {
206 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
207 FIXME("(%p)->(%p)\n", This, p);
208 return E_NOTIMPL;
209 }
210
211 static HRESULT WINAPI IEHTMLWindow2_close(IHTMLWindow2 *iface)
212 {
213 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
214
215 FIXME("(%p) semi-stub\n", This);
216
217 if(!This->doc_host->wb)
218 return E_UNEXPECTED;
219
220 return IWebBrowser2_put_Visible(This->doc_host->wb, VARIANT_FALSE);
221 }
222
223 static HRESULT WINAPI IEHTMLWindow2_put_opener(IHTMLWindow2 *iface, VARIANT v)
224 {
225 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
226 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
227 return E_NOTIMPL;
228 }
229
230 static HRESULT WINAPI IEHTMLWindow2_get_opener(IHTMLWindow2 *iface, VARIANT *p)
231 {
232 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
233 FIXME("(%p)->(%p)\n", This, p);
234 return E_NOTIMPL;
235 }
236
237 static HRESULT WINAPI IEHTMLWindow2_get_navigator(IHTMLWindow2 *iface, IOmNavigator **p)
238 {
239 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
240 FIXME("(%p)->(%p)\n", This, p);
241 return E_NOTIMPL;
242 }
243
244 static HRESULT WINAPI IEHTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v)
245 {
246 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
247 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
248 return E_NOTIMPL;
249 }
250
251 static HRESULT WINAPI IEHTMLWindow2_get_name(IHTMLWindow2 *iface, BSTR *p)
252 {
253 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
254 FIXME("(%p)->(%p)\n", This, p);
255 return E_NOTIMPL;
256 }
257
258 static HRESULT WINAPI IEHTMLWindow2_get_parent(IHTMLWindow2 *iface, IHTMLWindow2 **p)
259 {
260 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
261 FIXME("(%p)->(%p)\n", This, p);
262 return E_NOTIMPL;
263 }
264
265 static HRESULT WINAPI IEHTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name,
266 BSTR features, VARIANT_BOOL replace, IHTMLWindow2 **pomWindowResult)
267 {
268 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
269 FIXME("(%p)->(%s %s %s %x %p)\n", This, debugstr_w(url), debugstr_w(name),
270 debugstr_w(features), replace, pomWindowResult);
271 return E_NOTIMPL;
272 }
273
274 static HRESULT WINAPI IEHTMLWindow2_get_self(IHTMLWindow2 *iface, IHTMLWindow2 **p)
275 {
276 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
277 FIXME("(%p)->(%p)\n", This, p);
278 return E_NOTIMPL;
279 }
280
281 static HRESULT WINAPI IEHTMLWindow2_get_top(IHTMLWindow2 *iface, IHTMLWindow2 **p)
282 {
283 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
284 FIXME("(%p)->(%p)\n", This, p);
285 return E_NOTIMPL;
286 }
287
288 static HRESULT WINAPI IEHTMLWindow2_get_window(IHTMLWindow2 *iface, IHTMLWindow2 **p)
289 {
290 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
291 FIXME("(%p)->(%p)\n", This, p);
292 return E_NOTIMPL;
293 }
294
295 static HRESULT WINAPI IEHTMLWindow2_navigate(IHTMLWindow2 *iface, BSTR url)
296 {
297 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
298 FIXME("(%p)->(%s)\n", This, debugstr_w(url));
299 return E_NOTIMPL;
300 }
301
302 static HRESULT WINAPI IEHTMLWindow2_put_onfocus(IHTMLWindow2 *iface, VARIANT v)
303 {
304 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
305 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
306 return E_NOTIMPL;
307 }
308
309 static HRESULT WINAPI IEHTMLWindow2_get_onfocus(IHTMLWindow2 *iface, VARIANT *p)
310 {
311 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
312 FIXME("(%p)->(%p)\n", This, p);
313 return E_NOTIMPL;
314 }
315
316 static HRESULT WINAPI IEHTMLWindow2_put_onblur(IHTMLWindow2 *iface, VARIANT v)
317 {
318 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
319 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
320 return E_NOTIMPL;
321 }
322
323 static HRESULT WINAPI IEHTMLWindow2_get_onblur(IHTMLWindow2 *iface, VARIANT *p)
324 {
325 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
326 FIXME("(%p)->(%p)\n", This, p);
327 return E_NOTIMPL;
328 }
329
330 static HRESULT WINAPI IEHTMLWindow2_put_onload(IHTMLWindow2 *iface, VARIANT v)
331 {
332 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
333 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
334 return E_NOTIMPL;
335 }
336
337 static HRESULT WINAPI IEHTMLWindow2_get_onload(IHTMLWindow2 *iface, VARIANT *p)
338 {
339 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
340 FIXME("(%p)->(%p)\n", This, p);
341 return E_NOTIMPL;
342 }
343
344 static HRESULT WINAPI IEHTMLWindow2_put_onbeforeunload(IHTMLWindow2 *iface, VARIANT v)
345 {
346 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
347 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
348 return E_NOTIMPL;
349 }
350
351 static HRESULT WINAPI IEHTMLWindow2_get_onbeforeunload(IHTMLWindow2 *iface, VARIANT *p)
352 {
353 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
354 FIXME("(%p)->(%p)\n", This, p);
355 return E_NOTIMPL;
356 }
357
358 static HRESULT WINAPI IEHTMLWindow2_put_onunload(IHTMLWindow2 *iface, VARIANT v)
359 {
360 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
361 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
362 return E_NOTIMPL;
363 }
364
365 static HRESULT WINAPI IEHTMLWindow2_get_onunload(IHTMLWindow2 *iface, VARIANT *p)
366 {
367 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
368 FIXME("(%p)->(%p)\n", This, p);
369 return E_NOTIMPL;
370 }
371
372 static HRESULT WINAPI IEHTMLWindow2_put_onhelp(IHTMLWindow2 *iface, VARIANT v)
373 {
374 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
375 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
376 return E_NOTIMPL;
377 }
378
379 static HRESULT WINAPI IEHTMLWindow2_get_onhelp(IHTMLWindow2 *iface, VARIANT *p)
380 {
381 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
382 FIXME("(%p)->(%p)\n", This, p);
383 return E_NOTIMPL;
384 }
385
386 static HRESULT WINAPI IEHTMLWindow2_put_onerror(IHTMLWindow2 *iface, VARIANT v)
387 {
388 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
389 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
390 return E_NOTIMPL;
391 }
392
393 static HRESULT WINAPI IEHTMLWindow2_get_onerror(IHTMLWindow2 *iface, VARIANT *p)
394 {
395 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
396 FIXME("(%p)->(%p)\n", This, p);
397 return E_NOTIMPL;
398 }
399
400 static HRESULT WINAPI IEHTMLWindow2_put_onresize(IHTMLWindow2 *iface, VARIANT v)
401 {
402 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
403 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
404 return E_NOTIMPL;
405 }
406
407 static HRESULT WINAPI IEHTMLWindow2_get_onresize(IHTMLWindow2 *iface, VARIANT *p)
408 {
409 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
410 FIXME("(%p)->(%p)\n", This, p);
411 return E_NOTIMPL;
412 }
413
414 static HRESULT WINAPI IEHTMLWindow2_put_onscroll(IHTMLWindow2 *iface, VARIANT v)
415 {
416 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
417 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
418 return E_NOTIMPL;
419 }
420
421 static HRESULT WINAPI IEHTMLWindow2_get_onscroll(IHTMLWindow2 *iface, VARIANT *p)
422 {
423 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
424 FIXME("(%p)->(%p)\n", This, p);
425 return E_NOTIMPL;
426 }
427
428 static HRESULT WINAPI IEHTMLWindow2_get_document(IHTMLWindow2 *iface, IHTMLDocument2 **p)
429 {
430 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
431 FIXME("(%p)->(%p)\n", This, p);
432 return E_NOTIMPL;
433 }
434
435 static HRESULT WINAPI IEHTMLWindow2_get_event(IHTMLWindow2 *iface, IHTMLEventObj **p)
436 {
437 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
438 FIXME("(%p)->(%p)\n", This, p);
439 return E_NOTIMPL;
440 }
441
442 static HRESULT WINAPI IEHTMLWindow2_get__newEnum(IHTMLWindow2 *iface, IUnknown **p)
443 {
444 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
445 FIXME("(%p)->(%p)\n", This, p);
446 return E_NOTIMPL;
447 }
448
449 static HRESULT WINAPI IEHTMLWindow2_showModalDialog(IHTMLWindow2 *iface, BSTR dialog,
450 VARIANT *varArgIn, VARIANT *varOptions, VARIANT *varArgOut)
451 {
452 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
453 FIXME("(%p)->(%s %s %s %p)\n", This, debugstr_w(dialog), debugstr_variant(varArgIn),
454 debugstr_variant(varOptions), varArgOut);
455 return E_NOTIMPL;
456 }
457
458 static HRESULT WINAPI IEHTMLWindow2_showHelp(IHTMLWindow2 *iface, BSTR helpURL, VARIANT helpArg,
459 BSTR features)
460 {
461 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
462 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(helpURL), debugstr_variant(&helpArg), debugstr_w(features));
463 return E_NOTIMPL;
464 }
465
466 static HRESULT WINAPI IEHTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen **p)
467 {
468 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
469 FIXME("(%p)->(%p)\n", This, p);
470 return E_NOTIMPL;
471 }
472
473 static HRESULT WINAPI IEHTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionElementFactory **p)
474 {
475 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
476 FIXME("(%p)->(%p)\n", This, p);
477 return E_NOTIMPL;
478 }
479
480 static HRESULT WINAPI IEHTMLWindow2_focus(IHTMLWindow2 *iface)
481 {
482 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
483 FIXME("(%p)->()\n", This);
484 return E_NOTIMPL;
485 }
486
487 static HRESULT WINAPI IEHTMLWindow2_get_closed(IHTMLWindow2 *iface, VARIANT_BOOL *p)
488 {
489 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
490 FIXME("(%p)->(%p)\n", This, p);
491 return E_NOTIMPL;
492 }
493
494 static HRESULT WINAPI IEHTMLWindow2_blur(IHTMLWindow2 *iface)
495 {
496 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
497 FIXME("(%p)->()\n", This);
498 return E_NOTIMPL;
499 }
500
501 static HRESULT WINAPI IEHTMLWindow2_scroll(IHTMLWindow2 *iface, LONG x, LONG y)
502 {
503 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
504 FIXME("(%p)->(%d %d)\n", This, x, y);
505 return E_NOTIMPL;
506 }
507
508 static HRESULT WINAPI IEHTMLWindow2_get_clientInformation(IHTMLWindow2 *iface, IOmNavigator **p)
509 {
510 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
511 FIXME("(%p)->(%p)\n", This, p);
512 return E_NOTIMPL;
513 }
514
515 static HRESULT WINAPI IEHTMLWindow2_setInterval(IHTMLWindow2 *iface, BSTR expression,
516 LONG msec, VARIANT *language, LONG *timerID)
517 {
518 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
519 FIXME("(%p)->(%s %d %s %p)\n", This, debugstr_w(expression), msec, debugstr_variant(language), timerID);
520 return E_NOTIMPL;
521 }
522
523 static HRESULT WINAPI IEHTMLWindow2_clearInterval(IHTMLWindow2 *iface, LONG timerID)
524 {
525 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
526 FIXME("(%p)->(%d)\n", This, timerID);
527 return E_NOTIMPL;
528 }
529
530 static HRESULT WINAPI IEHTMLWindow2_put_offscreenBuffering(IHTMLWindow2 *iface, VARIANT v)
531 {
532 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
533 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
534 return E_NOTIMPL;
535 }
536
537 static HRESULT WINAPI IEHTMLWindow2_get_offscreenBuffering(IHTMLWindow2 *iface, VARIANT *p)
538 {
539 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
540 FIXME("(%p)->(%p)\n", This, p);
541 return E_NOTIMPL;
542 }
543
544 static HRESULT WINAPI IEHTMLWindow2_execScript(IHTMLWindow2 *iface, BSTR scode, BSTR language,
545 VARIANT *pvarRet)
546 {
547 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
548 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(scode), debugstr_w(language), pvarRet);
549 return E_NOTIMPL;
550 }
551
552 static HRESULT WINAPI IEHTMLWindow2_toString(IHTMLWindow2 *iface, BSTR *String)
553 {
554 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
555 FIXME("(%p)->(%p)\n", This, String);
556 return E_NOTIMPL;
557 }
558
559 static HRESULT WINAPI IEHTMLWindow2_scrollBy(IHTMLWindow2 *iface, LONG x, LONG y)
560 {
561 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
562 FIXME("(%p)->(%d %d)\n", This, x, y);
563 return E_NOTIMPL;
564 }
565
566 static HRESULT WINAPI IEHTMLWindow2_scrollTo(IHTMLWindow2 *iface, LONG x, LONG y)
567 {
568 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
569 FIXME("(%p)->(%d %d)\n", This, x, y);
570 return E_NOTIMPL;
571 }
572
573 static HRESULT WINAPI IEHTMLWindow2_moveTo(IHTMLWindow2 *iface, LONG x, LONG y)
574 {
575 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
576 FIXME("(%p)->(%d %d)\n", This, x, y);
577 return E_NOTIMPL;
578 }
579
580 static HRESULT WINAPI IEHTMLWindow2_moveBy(IHTMLWindow2 *iface, LONG x, LONG y)
581 {
582 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
583 FIXME("(%p)->(%d %d)\n", This, x, y);
584 return E_NOTIMPL;
585 }
586
587 static HRESULT WINAPI IEHTMLWindow2_resizeTo(IHTMLWindow2 *iface, LONG x, LONG y)
588 {
589 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
590 FIXME("(%p)->(%d %d)\n", This, x, y);
591 return E_NOTIMPL;
592 }
593
594 static HRESULT WINAPI IEHTMLWindow2_resizeBy(IHTMLWindow2 *iface, LONG x, LONG y)
595 {
596 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
597 FIXME("(%p)->(%d %d)\n", This, x, y);
598 return E_NOTIMPL;
599 }
600
601 static HRESULT WINAPI IEHTMLWindow2_get_external(IHTMLWindow2 *iface, IDispatch **p)
602 {
603 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface);
604 FIXME("(%p)->(%p)\n", This, p);
605 return E_NOTIMPL;
606 }
607
608 static const IHTMLWindow2Vtbl IEHTMLWindow2Vtbl = {
609 IEHTMLWindow2_QueryInterface,
610 IEHTMLWindow2_AddRef,
611 IEHTMLWindow2_Release,
612 IEHTMLWindow2_GetTypeInfoCount,
613 IEHTMLWindow2_GetTypeInfo,
614 IEHTMLWindow2_GetIDsOfNames,
615 IEHTMLWindow2_Invoke,
616 IEHTMLWindow2_item,
617 IEHTMLWindow2_get_length,
618 IEHTMLWindow2_get_frames,
619 IEHTMLWindow2_put_defaultStatus,
620 IEHTMLWindow2_get_defaultStatus,
621 IEHTMLWindow2_put_status,
622 IEHTMLWindow2_get_status,
623 IEHTMLWindow2_setTimeout,
624 IEHTMLWindow2_clearTimeout,
625 IEHTMLWindow2_alert,
626 IEHTMLWindow2_confirm,
627 IEHTMLWindow2_prompt,
628 IEHTMLWindow2_get_Image,
629 IEHTMLWindow2_get_location,
630 IEHTMLWindow2_get_history,
631 IEHTMLWindow2_close,
632 IEHTMLWindow2_put_opener,
633 IEHTMLWindow2_get_opener,
634 IEHTMLWindow2_get_navigator,
635 IEHTMLWindow2_put_name,
636 IEHTMLWindow2_get_name,
637 IEHTMLWindow2_get_parent,
638 IEHTMLWindow2_open,
639 IEHTMLWindow2_get_self,
640 IEHTMLWindow2_get_top,
641 IEHTMLWindow2_get_window,
642 IEHTMLWindow2_navigate,
643 IEHTMLWindow2_put_onfocus,
644 IEHTMLWindow2_get_onfocus,
645 IEHTMLWindow2_put_onblur,
646 IEHTMLWindow2_get_onblur,
647 IEHTMLWindow2_put_onload,
648 IEHTMLWindow2_get_onload,
649 IEHTMLWindow2_put_onbeforeunload,
650 IEHTMLWindow2_get_onbeforeunload,
651 IEHTMLWindow2_put_onunload,
652 IEHTMLWindow2_get_onunload,
653 IEHTMLWindow2_put_onhelp,
654 IEHTMLWindow2_get_onhelp,
655 IEHTMLWindow2_put_onerror,
656 IEHTMLWindow2_get_onerror,
657 IEHTMLWindow2_put_onresize,
658 IEHTMLWindow2_get_onresize,
659 IEHTMLWindow2_put_onscroll,
660 IEHTMLWindow2_get_onscroll,
661 IEHTMLWindow2_get_document,
662 IEHTMLWindow2_get_event,
663 IEHTMLWindow2_get__newEnum,
664 IEHTMLWindow2_showModalDialog,
665 IEHTMLWindow2_showHelp,
666 IEHTMLWindow2_get_screen,
667 IEHTMLWindow2_get_Option,
668 IEHTMLWindow2_focus,
669 IEHTMLWindow2_get_closed,
670 IEHTMLWindow2_blur,
671 IEHTMLWindow2_scroll,
672 IEHTMLWindow2_get_clientInformation,
673 IEHTMLWindow2_setInterval,
674 IEHTMLWindow2_clearInterval,
675 IEHTMLWindow2_put_offscreenBuffering,
676 IEHTMLWindow2_get_offscreenBuffering,
677 IEHTMLWindow2_execScript,
678 IEHTMLWindow2_toString,
679 IEHTMLWindow2_scrollBy,
680 IEHTMLWindow2_scrollTo,
681 IEHTMLWindow2_moveTo,
682 IEHTMLWindow2_moveBy,
683 IEHTMLWindow2_resizeTo,
684 IEHTMLWindow2_resizeBy,
685 IEHTMLWindow2_get_external
686 };
687
688 void IEHTMLWindow_Init(DocHost *doc_host)
689 {
690 doc_host->html_window.IHTMLWindow2_iface.lpVtbl = &IEHTMLWindow2Vtbl;
691 doc_host->html_window.doc_host = doc_host;
692 }