ReactOS  0.4.14-dev-323-g6fe6a88
htmliframe.c
Go to the documentation of this file.
1 /*
2  * Copyright 2008 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 "mshtml_private.h"
20 
21 typedef struct {
23  IHTMLIFrameElement IHTMLIFrameElement_iface;
24  IHTMLIFrameElement2 IHTMLIFrameElement2_iface;
25  IHTMLIFrameElement3 IHTMLIFrameElement3_iface;
26 } HTMLIFrame;
27 
28 static inline HTMLIFrame *impl_from_IHTMLIFrameElement(IHTMLIFrameElement *iface)
29 {
30  return CONTAINING_RECORD(iface, HTMLIFrame, IHTMLIFrameElement_iface);
31 }
32 
33 static HRESULT WINAPI HTMLIFrameElement_QueryInterface(IHTMLIFrameElement *iface,
34  REFIID riid, void **ppv)
35 {
37 
38  return IHTMLDOMNode_QueryInterface(&This->framebase.element.node.IHTMLDOMNode_iface, riid, ppv);
39 }
40 
41 static ULONG WINAPI HTMLIFrameElement_AddRef(IHTMLIFrameElement *iface)
42 {
44 
45  return IHTMLDOMNode_AddRef(&This->framebase.element.node.IHTMLDOMNode_iface);
46 }
47 
48 static ULONG WINAPI HTMLIFrameElement_Release(IHTMLIFrameElement *iface)
49 {
51 
52  return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
53 }
54 
55 static HRESULT WINAPI HTMLIFrameElement_GetTypeInfoCount(IHTMLIFrameElement *iface, UINT *pctinfo)
56 {
58  return IDispatchEx_GetTypeInfoCount(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface,
59  pctinfo);
60 }
61 
62 static HRESULT WINAPI HTMLIFrameElement_GetTypeInfo(IHTMLIFrameElement *iface, UINT iTInfo,
63  LCID lcid, ITypeInfo **ppTInfo)
64 {
66  return IDispatchEx_GetTypeInfo(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, iTInfo,
67  lcid, ppTInfo);
68 }
69 
70 static HRESULT WINAPI HTMLIFrameElement_GetIDsOfNames(IHTMLIFrameElement *iface, REFIID riid,
71  LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
72 {
74  return IDispatchEx_GetIDsOfNames(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, riid,
75  rgszNames, cNames, lcid, rgDispId);
76 }
77 
78 static HRESULT WINAPI HTMLIFrameElement_Invoke(IHTMLIFrameElement *iface, DISPID dispIdMember,
79  REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
80  VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
81 {
83  return IDispatchEx_Invoke(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, dispIdMember,
84  riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
85 }
86 
87 static HRESULT WINAPI HTMLIFrameElement_put_vspace(IHTMLIFrameElement *iface, LONG v)
88 {
90  FIXME("(%p)->(%d)\n", This, v);
91  return E_NOTIMPL;
92 }
93 
94 static HRESULT WINAPI HTMLIFrameElement_get_vspace(IHTMLIFrameElement *iface, LONG *p)
95 {
97  FIXME("(%p)->(%p)\n", This, p);
98  return E_NOTIMPL;
99 }
100 
101 static HRESULT WINAPI HTMLIFrameElement_put_hspace(IHTMLIFrameElement *iface, LONG v)
102 {
104  FIXME("(%p)->(%d)\n", This, v);
105  return E_NOTIMPL;
106 }
107 
108 static HRESULT WINAPI HTMLIFrameElement_get_hspace(IHTMLIFrameElement *iface, LONG *p)
109 {
111  FIXME("(%p)->(%p)\n", This, p);
112  return E_NOTIMPL;
113 }
114 
115 static HRESULT WINAPI HTMLIFrameElement_put_align(IHTMLIFrameElement *iface, BSTR v)
116 {
118  FIXME("(%p)->(%s)\n", This, debugstr_w(v));
119  return E_NOTIMPL;
120 }
121 
122 static HRESULT WINAPI HTMLIFrameElement_get_align(IHTMLIFrameElement *iface, BSTR *p)
123 {
125  FIXME("(%p)->(%p)\n", This, p);
126  return E_NOTIMPL;
127 }
128 
129 static const IHTMLIFrameElementVtbl HTMLIFrameElementVtbl = {
143 };
144 
145 static inline HTMLIFrame *impl_from_IHTMLIFrameElement2(IHTMLIFrameElement2 *iface)
146 {
147  return CONTAINING_RECORD(iface, HTMLIFrame, IHTMLIFrameElement2_iface);
148 }
149 
150 static HRESULT WINAPI HTMLIFrameElement2_QueryInterface(IHTMLIFrameElement2 *iface,
151  REFIID riid, void **ppv)
152 {
154 
155  return IHTMLDOMNode_QueryInterface(&This->framebase.element.node.IHTMLDOMNode_iface, riid, ppv);
156 }
157 
158 static ULONG WINAPI HTMLIFrameElement2_AddRef(IHTMLIFrameElement2 *iface)
159 {
161 
162  return IHTMLDOMNode_AddRef(&This->framebase.element.node.IHTMLDOMNode_iface);
163 }
164 
165 static ULONG WINAPI HTMLIFrameElement2_Release(IHTMLIFrameElement2 *iface)
166 {
168 
169  return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
170 }
171 
172 static HRESULT WINAPI HTMLIFrameElement2_GetTypeInfoCount(IHTMLIFrameElement2 *iface, UINT *pctinfo)
173 {
175  return IDispatchEx_GetTypeInfoCount(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface,
176  pctinfo);
177 }
178 
179 static HRESULT WINAPI HTMLIFrameElement2_GetTypeInfo(IHTMLIFrameElement2 *iface, UINT iTInfo,
180  LCID lcid, ITypeInfo **ppTInfo)
181 {
183  return IDispatchEx_GetTypeInfo(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, iTInfo,
184  lcid, ppTInfo);
185 }
186 
187 static HRESULT WINAPI HTMLIFrameElement2_GetIDsOfNames(IHTMLIFrameElement2 *iface, REFIID riid,
188  LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
189 {
191  return IDispatchEx_GetIDsOfNames(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, riid,
192  rgszNames, cNames, lcid, rgDispId);
193 }
194 
195 static HRESULT WINAPI HTMLIFrameElement2_Invoke(IHTMLIFrameElement2 *iface, DISPID dispIdMember,
196  REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
197  VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
198 {
200  return IDispatchEx_Invoke(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, dispIdMember,
201  riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
202 }
203 
204 static HRESULT WINAPI HTMLIFrameElement2_put_height(IHTMLIFrameElement2 *iface, VARIANT v)
205 {
207  nsAString nsstr;
208  nsresult nsres;
209 
210  TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
211 
212  if(V_VT(&v) != VT_BSTR) {
213  FIXME("Unsupported %s\n", debugstr_variant(&v));
214  return E_NOTIMPL;
215  }
216 
217  nsAString_InitDepend(&nsstr, V_BSTR(&v));
218  nsres = nsIDOMHTMLIFrameElement_SetHeight(This->framebase.nsiframe, &nsstr);
219  nsAString_Finish(&nsstr);
220  if(NS_FAILED(nsres)) {
221  ERR("SetHeight failed: %08x\n", nsres);
222  return E_FAIL;
223  }
224 
225  return S_OK;
226 }
227 
228 static HRESULT WINAPI HTMLIFrameElement2_get_height(IHTMLIFrameElement2 *iface, VARIANT *p)
229 {
231  nsAString nsstr;
232  nsresult nsres;
233 
234  TRACE("(%p)->(%p)\n", This, p);
235 
236  nsAString_Init(&nsstr, NULL);
237  nsres = nsIDOMHTMLIFrameElement_GetHeight(This->framebase.nsiframe, &nsstr);
238 
239  V_VT(p) = VT_BSTR;
240  return return_nsstr(nsres, &nsstr, &V_BSTR(p));
241 }
242 
243 static HRESULT WINAPI HTMLIFrameElement2_put_width(IHTMLIFrameElement2 *iface, VARIANT v)
244 {
246  nsAString nsstr;
247  nsresult nsres;
248 
249  TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
250 
251  if(V_VT(&v) != VT_BSTR) {
252  FIXME("Unsupported %s\n", debugstr_variant(&v));
253  return E_NOTIMPL;
254  }
255 
256  nsAString_InitDepend(&nsstr, V_BSTR(&v));
257  nsres = nsIDOMHTMLIFrameElement_SetWidth(This->framebase.nsiframe, &nsstr);
258  nsAString_Finish(&nsstr);
259  if(NS_FAILED(nsres)) {
260  ERR("SetWidth failed: %08x\n", nsres);
261  return E_FAIL;
262  }
263 
264  return S_OK;
265 }
266 
267 static HRESULT WINAPI HTMLIFrameElement2_get_width(IHTMLIFrameElement2 *iface, VARIANT *p)
268 {
270  nsAString nsstr;
271  nsresult nsres;
272 
273  TRACE("(%p)->(%p)\n", This, p);
274 
275  nsAString_Init(&nsstr, NULL);
276  nsres = nsIDOMHTMLIFrameElement_GetWidth(This->framebase.nsiframe, &nsstr);
277 
278  V_VT(p) = VT_BSTR;
279  return return_nsstr(nsres, &nsstr, &V_BSTR(p));
280 }
281 
282 static const IHTMLIFrameElement2Vtbl HTMLIFrameElement2Vtbl = {
294 };
295 
296 static inline HTMLIFrame *impl_from_IHTMLIFrameElement3(IHTMLIFrameElement3 *iface)
297 {
298  return CONTAINING_RECORD(iface, HTMLIFrame, IHTMLIFrameElement3_iface);
299 }
300 
301 static HRESULT WINAPI HTMLIFrameElement3_QueryInterface(IHTMLIFrameElement3 *iface,
302  REFIID riid, void **ppv)
303 {
305 
306  return IHTMLDOMNode_QueryInterface(&This->framebase.element.node.IHTMLDOMNode_iface, riid, ppv);
307 }
308 
309 static ULONG WINAPI HTMLIFrameElement3_AddRef(IHTMLIFrameElement3 *iface)
310 {
312 
313  return IHTMLDOMNode_AddRef(&This->framebase.element.node.IHTMLDOMNode_iface);
314 }
315 
316 static ULONG WINAPI HTMLIFrameElement3_Release(IHTMLIFrameElement3 *iface)
317 {
319 
320  return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
321 }
322 
323 static HRESULT WINAPI HTMLIFrameElement3_GetTypeInfoCount(IHTMLIFrameElement3 *iface, UINT *pctinfo)
324 {
326  return IDispatchEx_GetTypeInfoCount(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface,
327  pctinfo);
328 }
329 
330 static HRESULT WINAPI HTMLIFrameElement3_GetTypeInfo(IHTMLIFrameElement3 *iface, UINT iTInfo,
331  LCID lcid, ITypeInfo **ppTInfo)
332 {
334  return IDispatchEx_GetTypeInfo(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, iTInfo,
335  lcid, ppTInfo);
336 }
337 
338 static HRESULT WINAPI HTMLIFrameElement3_GetIDsOfNames(IHTMLIFrameElement3 *iface, REFIID riid,
339  LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
340 {
342  return IDispatchEx_GetIDsOfNames(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, riid,
343  rgszNames, cNames, lcid, rgDispId);
344 }
345 
346 static HRESULT WINAPI HTMLIFrameElement3_Invoke(IHTMLIFrameElement3 *iface, DISPID dispIdMember,
347  REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
348  VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
349 {
351  return IDispatchEx_Invoke(&This->framebase.element.node.event_target.dispex.IDispatchEx_iface, dispIdMember,
352  riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
353 }
354 
355 static HRESULT WINAPI HTMLIFrameElement3_get_contentDocument(IHTMLIFrameElement3 *iface, IDispatch **p)
356 {
358  IHTMLDocument2 *doc;
359  HRESULT hres;
360 
361  TRACE("(%p)->(%p)\n", This, p);
362 
363  if(!This->framebase.content_window) {
364  *p = NULL;
365  return S_OK;
366  }
367 
368  hres = IHTMLWindow2_get_document(&This->framebase.content_window->base.IHTMLWindow2_iface, &doc);
369  *p = (IDispatch*)doc;
370  return hres;
371 }
372 
373 static HRESULT WINAPI HTMLIFrameElement3_put_src(IHTMLIFrameElement3 *iface, BSTR v)
374 {
376  FIXME("(%p)->(%s)\n", This, debugstr_w(v));
377  return E_NOTIMPL;
378 }
379 
380 static HRESULT WINAPI HTMLIFrameElement3_get_src(IHTMLIFrameElement3 *iface, BSTR *p)
381 {
383  FIXME("(%p)->(%p)\n", This, p);
384  return E_NOTIMPL;
385 }
386 
387 static HRESULT WINAPI HTMLIFrameElement3_put_longDesc(IHTMLIFrameElement3 *iface, BSTR v)
388 {
390  FIXME("(%p)->(%s)\n", This, debugstr_w(v));
391  return E_NOTIMPL;
392 }
393 
394 static HRESULT WINAPI HTMLIFrameElement3_get_longDesc(IHTMLIFrameElement3 *iface, BSTR *p)
395 {
397  FIXME("(%p)->(%p)\n", This, p);
398  return E_NOTIMPL;
399 }
400 
401 static HRESULT WINAPI HTMLIFrameElement3_put_frameBorder(IHTMLIFrameElement3 *iface, BSTR v)
402 {
404  FIXME("(%p)->(%s)\n", This, debugstr_w(v));
405  return E_NOTIMPL;
406 }
407 
408 static HRESULT WINAPI HTMLIFrameElement3_get_frameBorder(IHTMLIFrameElement3 *iface, BSTR *p)
409 {
411  FIXME("(%p)->(%p)\n", This, p);
412  return E_NOTIMPL;
413 }
414 
415 static const IHTMLIFrameElement3Vtbl HTMLIFrameElement3Vtbl = {
430 };
431 
433 {
434  return CONTAINING_RECORD(iface, HTMLIFrame, framebase.element.node);
435 }
436 
438 {
440 
441  if(IsEqualGUID(&IID_IHTMLIFrameElement, riid)) {
442  TRACE("(%p)->(IID_IHTMLIFrameElement %p)\n", This, ppv);
443  *ppv = &This->IHTMLIFrameElement_iface;
444  }else if(IsEqualGUID(&IID_IHTMLIFrameElement2, riid)) {
445  TRACE("(%p)->(IID_IHTMLIFrameElement2 %p)\n", This, ppv);
446  *ppv = &This->IHTMLIFrameElement2_iface;
447  }else if(IsEqualGUID(&IID_IHTMLIFrameElement3, riid)) {
448  TRACE("(%p)->(IID_IHTMLIFrameElement3 %p)\n", This, ppv);
449  *ppv = &This->IHTMLIFrameElement3_iface;
450  }else {
451  return HTMLFrameBase_QI(&This->framebase, riid, ppv);
452  }
453 
454  IUnknown_AddRef((IUnknown*)*ppv);
455  return S_OK;
456 }
457 
459 {
461 
462  HTMLFrameBase_destructor(&This->framebase);
463 }
464 
466 {
468 
469  if(!This->framebase.content_window || !This->framebase.content_window->base.inner_window->doc) {
470  *p = NULL;
471  return S_OK;
472  }
473 
474  *p = (IDispatch*)&This->framebase.content_window->base.inner_window->doc->basedoc.IHTMLDocument2_iface;
475  IDispatch_AddRef(*p);
476  return S_OK;
477 }
478 
480  DWORD grfdex, DISPID *pid)
481 {
483 
484  if(!This->framebase.content_window)
485  return DISP_E_UNKNOWNNAME;
486 
487  return search_window_props(This->framebase.content_window->base.inner_window, name, grfdex, pid);
488 }
489 
492 {
494 
495  if(!This->framebase.content_window) {
496  ERR("no content window to invoke on\n");
497  return E_FAIL;
498  }
499 
500  return IDispatchEx_InvokeEx(&This->framebase.content_window->base.IDispatchEx_iface, id, lcid,
501  flags, params, res, ei, caller);
502 }
503 
505 {
507 
508  return IHTMLFrameBase2_get_readyState(&This->framebase.IHTMLFrameBase2_iface, p);
509 }
510 
512 {
514  nsIDOMDocument *nsdoc;
515  nsresult nsres;
516  HRESULT hres;
517 
518  nsres = nsIDOMHTMLIFrameElement_GetContentDocument(This->framebase.nsiframe, &nsdoc);
519  if(NS_FAILED(nsres) || !nsdoc) {
520  ERR("GetContentDocument failed: %08x\n", nsres);
521  return E_FAIL;
522  }
523 
524  hres = set_frame_doc(&This->framebase, nsdoc);
525  nsIDOMDocument_Release(nsdoc);
526  return hres;
527 }
528 
530 {
532 
533  if(This->framebase.nsiframe)
534  note_cc_edge((nsISupports*)This->framebase.nsiframe, "This->nsiframe", cb);
535 }
536 
537 static void HTMLIFrame_unlink(HTMLDOMNode *iface)
538 {
540 
541  if(This->framebase.nsiframe) {
542  nsIDOMHTMLIFrameElement *nsiframe = This->framebase.nsiframe;
543 
544  This->framebase.nsiframe = NULL;
545  nsIDOMHTMLIFrameElement_Release(nsiframe);
546  }
547 }
548 
556  NULL,
557  NULL,
558  NULL,
559  NULL,
567 };
568 
569 static const tid_t HTMLIFrame_iface_tids[] = {
571  IHTMLFrameBase_tid,
572  IHTMLFrameBase2_tid,
573  IHTMLIFrameElement_tid,
574  IHTMLIFrameElement2_tid,
575  IHTMLIFrameElement3_tid,
576  0
577 };
578 
580  NULL,
581  DispHTMLIFrame_tid,
582  NULL,
584 };
585 
587 {
588  HTMLIFrame *ret;
589 
590  ret = heap_alloc_zero(sizeof(HTMLIFrame));
591  if(!ret)
592  return E_OUTOFMEMORY;
593 
594  ret->IHTMLIFrameElement_iface.lpVtbl = &HTMLIFrameElementVtbl;
595  ret->IHTMLIFrameElement2_iface.lpVtbl = &HTMLIFrameElement2Vtbl;
596  ret->IHTMLIFrameElement3_iface.lpVtbl = &HTMLIFrameElement3Vtbl;
597  ret->framebase.element.node.vtbl = &HTMLIFrameImplVtbl;
598 
599  HTMLFrameBase_Init(&ret->framebase, doc, nselem, &HTMLIFrame_dispex);
600 
601  *elem = &ret->framebase.element;
602  return S_OK;
603 }
static void HTMLIFrame_traverse(HTMLDOMNode *iface, nsCycleCollectionTraversalCallback *cb)
Definition: htmliframe.c:529
#define DISP_E_UNKNOWNNAME
Definition: winerror.h:2515
IHTMLIFrameElement3 IHTMLIFrameElement3_iface
Definition: htmliframe.c:25
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
Definition: winddi.h:3835
static HTMLIFrame * impl_from_IHTMLIFrameElement3(IHTMLIFrameElement3 *iface)
Definition: htmliframe.c:296
static const tid_t HTMLIFrame_iface_tids[]
Definition: htmliframe.c:569
#define REFIID
Definition: guiddef.h:118
static HRESULT WINAPI HTMLIFrameElement_GetTypeInfoCount(IHTMLIFrameElement *iface, UINT *pctinfo)
Definition: htmliframe.c:55
HRESULT set_frame_doc(HTMLFrameBase *frame, nsIDOMDocument *nsdoc)
Definition: htmlframebase.c:26
HRESULT HTMLElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlelem.c:3815
const cpc_entry_t HTMLElement_cpc[]
Definition: htmlelem.c:3847
REFIID riid
Definition: precomp.h:44
IHTMLIFrameElement2 IHTMLIFrameElement2_iface
Definition: htmliframe.c:24
static const IHTMLIFrameElement3Vtbl HTMLIFrameElement3Vtbl
Definition: htmliframe.c:415
static HRESULT WINAPI HTMLIFrameElement3_get_contentDocument(IHTMLIFrameElement3 *iface, IDispatch **p)
Definition: htmliframe.c:355
tid_t
Definition: ieframe.h:311
static HRESULT HTMLIFrame_bind_to_tree(HTMLDOMNode *iface)
Definition: htmliframe.c:511
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *iface, HTMLAttributeCollection **ac)
Definition: htmlelem.c:4827
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HRESULT HTMLIFrame_get_document(HTMLDOMNode *iface, IDispatch **p)
Definition: htmliframe.c:465
DWORD LCID
Definition: nls.h:13
static HRESULT WINAPI HTMLIFrameElement3_GetTypeInfoCount(IHTMLIFrameElement3 *iface, UINT *pctinfo)
Definition: htmliframe.c:323
OLECHAR * BSTR
Definition: compat.h:1934
static HRESULT WINAPI HTMLIFrameElement_GetIDsOfNames(IHTMLIFrameElement *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: htmliframe.c:70
static HTMLIFrame * impl_from_IHTMLIFrameElement(IHTMLIFrameElement *iface)
Definition: htmliframe.c:28
static HRESULT WINAPI HTMLIFrameElement2_QueryInterface(IHTMLIFrameElement2 *iface, REFIID riid, void **ppv)
Definition: htmliframe.c:150
static LPOLESTR
Definition: stg_prop.c:27
#define E_FAIL
Definition: ddrawi.h:102
static HRESULT WINAPI HTMLIFrameElement3_put_src(IHTMLIFrameElement3 *iface, BSTR v)
Definition: htmliframe.c:373
HRESULT HTMLFrameBase_QI(HTMLFrameBase *This, REFIID riid, void **ppv)
static ULONG WINAPI HTMLIFrameElement_Release(IHTMLIFrameElement *iface)
Definition: htmliframe.c:48
#define HTMLELEMENT_TIDS
static void HTMLIFrame_destructor(HTMLDOMNode *iface)
Definition: htmliframe.c:458
static HRESULT WINAPI HTMLIFrameElement3_QueryInterface(IHTMLIFrameElement3 *iface, REFIID riid, void **ppv)
Definition: htmliframe.c:301
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
GLenum const GLfloat * params
Definition: glext.h:5645
IHTMLIFrameElement IHTMLIFrameElement_iface
Definition: htmliframe.c:23
long LONG
Definition: pedump.c:60
static HRESULT WINAPI HTMLIFrameElement2_GetTypeInfo(IHTMLIFrameElement2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: htmliframe.c:179
#define debugstr_w
Definition: kernel32.h:32
static size_t elem
Definition: string.c:68
static HRESULT WINAPI HTMLIFrameElement3_GetIDsOfNames(IHTMLIFrameElement3 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: htmliframe.c:338
#define FIXME(fmt,...)
Definition: debug.h:110
static HRESULT WINAPI HTMLIFrameElement3_get_src(IHTMLIFrameElement3 *iface, BSTR *p)
Definition: htmliframe.c:380
static const NodeImplVtbl HTMLIFrameImplVtbl
Definition: htmliframe.c:549
smooth NULL
Definition: ftsmooth.c:416
static void HTMLIFrame_unlink(HTMLDOMNode *iface)
Definition: htmliframe.c:537
static const IHTMLIFrameElement2Vtbl HTMLIFrameElement2Vtbl
Definition: htmliframe.c:282
static HRESULT HTMLIFrame_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
Definition: htmliframe.c:490
static HRESULT WINAPI HTMLIFrameElement_put_vspace(IHTMLIFrameElement *iface, LONG v)
Definition: htmliframe.c:87
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
static HRESULT WINAPI HTMLIFrameElement3_put_frameBorder(IHTMLIFrameElement3 *iface, BSTR v)
Definition: htmliframe.c:401
static HRESULT WINAPI HTMLIFrameElement3_GetTypeInfo(IHTMLIFrameElement3 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: htmliframe.c:330
#define NS_FAILED(res)
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841
static HRESULT WINAPI HTMLIFrameElement2_get_width(IHTMLIFrameElement2 *iface, VARIANT *p)
Definition: htmliframe.c:267
#define TRACE(s)
Definition: solgame.cpp:4
static HRESULT WINAPI HTMLIFrameElement_put_align(IHTMLIFrameElement *iface, BSTR v)
Definition: htmliframe.c:115
HRESULT hres
Definition: protocol.c:465
static ULONG WINAPI HTMLIFrameElement3_AddRef(IHTMLIFrameElement3 *iface)
Definition: htmliframe.c:309
static HRESULT WINAPI HTMLIFrameElement3_Invoke(IHTMLIFrameElement3 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: htmliframe.c:346
LONG HRESULT
Definition: typedefs.h:77
#define WINAPI
Definition: msvc.h:8
unsigned short WORD
Definition: ntddk_ex.h:93
HRESULT HTMLIFrame_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, HTMLElement **elem)
Definition: htmliframe.c:586
static ULONG WINAPI HTMLIFrameElement3_Release(IHTMLIFrameElement3 *iface)
Definition: htmliframe.c:316
unsigned long DWORD
Definition: ntddk_ex.h:95
static HRESULT WINAPI HTMLIFrameElement_Invoke(IHTMLIFrameElement *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: htmliframe.c:78
static HRESULT WINAPI HTMLIFrameElement2_get_height(IHTMLIFrameElement2 *iface, VARIANT *p)
Definition: htmliframe.c:228
GLbitfield flags
Definition: glext.h:7161
static ULONG WINAPI HTMLIFrameElement_AddRef(IHTMLIFrameElement *iface)
Definition: htmliframe.c:41
static HRESULT WINAPI HTMLIFrameElement2_Invoke(IHTMLIFrameElement2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: htmliframe.c:195
static HRESULT WINAPI HTMLIFrameElement2_put_height(IHTMLIFrameElement2 *iface, VARIANT v)
Definition: htmliframe.c:204
int ret
static HRESULT WINAPI HTMLIFrameElement_get_hspace(IHTMLIFrameElement *iface, LONG *p)
Definition: htmliframe.c:108
static const IHTMLIFrameElementVtbl HTMLIFrameElementVtbl
Definition: htmliframe.c:129
static HRESULT WINAPI HTMLIFrameElement_GetTypeInfo(IHTMLIFrameElement *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: htmliframe.c:62
static HTMLIFrame * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmliframe.c:432
#define V_VT(A)
Definition: oleauto.h:211
void HTMLFrameBase_destructor(HTMLFrameBase *This)
static HRESULT WINAPI HTMLIFrameElement2_put_width(IHTMLIFrameElement2 *iface, VARIANT v)
Definition: htmliframe.c:243
static HRESULT WINAPI HTMLIFrameElement3_put_longDesc(IHTMLIFrameElement3 *iface, BSTR v)
Definition: htmliframe.c:387
#define V_BSTR(A)
Definition: oleauto.h:226
static dispex_static_data_t HTMLIFrame_dispex
Definition: htmliframe.c:579
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:519
#define ERR(fmt,...)
Definition: debug.h:109
HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
Definition: htmlelem.c:3793
HRESULT search_window_props(HTMLInnerWindow *This, BSTR bstrName, DWORD grfdex, DISPID *pid)
Definition: htmlwindow.c:2513
struct stdole::EXCEPINFO EXCEPINFO
static ULONG WINAPI HTMLIFrameElement2_AddRef(IHTMLIFrameElement2 *iface)
Definition: htmliframe.c:158
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
#define S_OK
Definition: intsafe.h:59
static VARIANTARG static DISPID
Definition: ordinal.c:49
const GLdouble * v
Definition: gl.h:2040
struct nsCycleCollectionTraversalCallback nsCycleCollectionTraversalCallback
#define E_NOTIMPL
Definition: ddrawi.h:99
HTMLFrameBase framebase
Definition: htmliframe.c:22
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
static HRESULT HTMLIFrame_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmliframe.c:437
static HRESULT HTMLIFrame_get_readystate(HTMLDOMNode *iface, BSTR *p)
Definition: htmliframe.c:504
unsigned int UINT
Definition: ndis.h:50
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static ULONG WINAPI HTMLIFrameElement2_Release(IHTMLIFrameElement2 *iface)
Definition: htmliframe.c:165
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
static HTMLIFrame * impl_from_IHTMLIFrameElement2(IHTMLIFrameElement2 *iface)
Definition: htmliframe.c:145
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
static HMODULE MODULEINFO DWORD cb
Definition: module.c:32
Definition: name.c:36
GLuint res
Definition: glext.h:9613
struct stdole::DISPPARAMS DISPPARAMS
static HRESULT WINAPI HTMLIFrameElement2_GetIDsOfNames(IHTMLIFrameElement2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: htmliframe.c:187
static HRESULT WINAPI HTMLIFrameElement_get_vspace(IHTMLIFrameElement *iface, LONG *p)
Definition: htmliframe.c:94
HRESULT nsresult
Definition: nsiface.idl:39
unsigned int ULONG
Definition: retypes.h:1
static HRESULT WINAPI HTMLIFrameElement3_get_frameBorder(IHTMLIFrameElement3 *iface, BSTR *p)
Definition: htmliframe.c:408
GLfloat GLfloat p
Definition: glext.h:8902
static HRESULT WINAPI HTMLIFrameElement_get_align(IHTMLIFrameElement *iface, BSTR *p)
Definition: htmliframe.c:122
void HTMLFrameBase_Init(HTMLFrameBase *This, HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, dispex_static_data_t *dispex_data)
static HRESULT WINAPI HTMLIFrameElement_put_hspace(IHTMLIFrameElement *iface, LONG v)
Definition: htmliframe.c:101
static HRESULT HTMLIFrame_get_dispid(HTMLDOMNode *iface, BSTR name, DWORD grfdex, DISPID *pid)
Definition: htmliframe.c:479
static HRESULT WINAPI HTMLIFrameElement2_GetTypeInfoCount(IHTMLIFrameElement2 *iface, UINT *pctinfo)
Definition: htmliframe.c:172
static HRESULT WINAPI HTMLIFrameElement3_get_longDesc(IHTMLIFrameElement3 *iface, BSTR *p)
Definition: htmliframe.c:394
static HRESULT WINAPI HTMLIFrameElement_QueryInterface(IHTMLIFrameElement *iface, REFIID riid, void **ppv)
Definition: htmliframe.c:33