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