mshtml: COM cleanup for the IHTMLWindow2 iface.

oldstable
Michael Stefaniuc 2010-12-27 12:50:32 +01:00 committed by Alexandre Julliard
parent 1bffb577e3
commit 2e24de635d
10 changed files with 135 additions and 134 deletions

View File

@ -105,7 +105,7 @@ static HRESULT WINAPI HTMLDocument_get_Script(IHTMLDocument2 *iface, IDispatch *
TRACE("(%p)->(%p)\n", This, p);
*p = (IDispatch*)HTMLWINDOW2(This->window);
*p = (IDispatch*)&This->window->IHTMLWindow2_iface;
IDispatch_AddRef(*p);
return S_OK;
}
@ -579,7 +579,7 @@ static HRESULT WINAPI HTMLDocument_get_location(IHTMLDocument2 *iface, IHTMLLoca
return E_UNEXPECTED;
}
return IHTMLWindow2_get_location(HTMLWINDOW2(This->window), p);
return IHTMLWindow2_get_location(&This->window->IHTMLWindow2_iface, p);
}
static HRESULT WINAPI HTMLDocument_get_lastModified(IHTMLDocument2 *iface, BSTR *p)
@ -872,8 +872,8 @@ static HRESULT WINAPI HTMLDocument_open(IHTMLDocument2 *iface, BSTR url, VARIANT
return E_FAIL;
}
*pomWindowResult = (IDispatch*)HTMLWINDOW2(This->window);
IHTMLWindow2_AddRef(HTMLWINDOW2(This->window));
*pomWindowResult = (IDispatch*)&This->window->IHTMLWindow2_iface;
IHTMLWindow2_AddRef(&This->window->IHTMLWindow2_iface);
return S_OK;
}
@ -1302,7 +1302,7 @@ static HRESULT WINAPI HTMLDocument_get_parentWindow(IHTMLDocument2 *iface, IHTML
TRACE("(%p)->(%p)\n", This, p);
*p = HTMLWINDOW2(This->window);
*p = &This->window->IHTMLWindow2_iface;
IHTMLWindow2_AddRef(*p);
return S_OK;
}
@ -2097,7 +2097,7 @@ static ULONG WINAPI CustomDoc_Release(ICustomDoc *iface)
}
if(This->basedoc.window) {
This->basedoc.window->doc_obj = NULL;
IHTMLWindow2_Release(HTMLWINDOW2(This->basedoc.window));
IHTMLWindow2_Release(&This->basedoc.window->IHTMLWindow2_iface);
}
if(This->basedoc.advise_holder)
IOleAdviseHolder_Release(This->basedoc.advise_holder);

View File

@ -105,7 +105,7 @@ static HRESULT WINAPI HTMLFrameElement3_get_contentDocument(IHTMLFrameElement3 *
return E_FAIL;
}
hres = IHTMLWindow2_get_document(HTMLWINDOW2(This->framebase.content_window), &doc);
hres = IHTMLWindow2_get_document(&This->framebase.content_window->IHTMLWindow2_iface, &doc);
if(FAILED(hres))
return hres;

View File

@ -430,8 +430,8 @@ static HRESULT WINAPI HTMLFrameBase2_get_contentWindow(IHTMLFrameBase2 *iface, I
TRACE("(%p)->(%p)\n", This, p);
if(This->content_window) {
IHTMLWindow2_AddRef(HTMLWINDOW2(This->content_window));
*p = HTMLWINDOW2(This->content_window);
IHTMLWindow2_AddRef(&This->content_window->IHTMLWindow2_iface);
*p = &This->content_window->IHTMLWindow2_iface;
}else {
WARN("NULL content window\n");
*p = NULL;

View File

@ -119,7 +119,7 @@ static void release_children(HTMLWindow *This)
list_remove(&child->sibling_entry);
child->parent = NULL;
IHTMLWindow2_Release(HTMLWINDOW2(child));
IHTMLWindow2_Release(&child->IHTMLWindow2_iface);
}
}
@ -159,29 +159,32 @@ static inline HRESULT get_window_event(HTMLWindow *window, eventid_t eid, VARIAN
return get_event_handler(&window->doc->body_event_target, eid, var);
}
#define HTMLWINDOW2_THIS(iface) DEFINE_THIS(HTMLWindow, HTMLWindow2, iface)
static inline HTMLWindow *impl_from_IHTMLWindow2(IHTMLWindow2 *iface)
{
return CONTAINING_RECORD(iface, HTMLWindow, IHTMLWindow2_iface);
}
static HRESULT WINAPI HTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID riid, void **ppv)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = HTMLWINDOW2(This);
*ppv = &This->IHTMLWindow2_iface;
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = HTMLWINDOW2(This);
*ppv = &This->IHTMLWindow2_iface;
}else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
TRACE("(%p)->(IID_IDispatchEx %p)\n", This, ppv);
*ppv = DISPATCHEX(This);
}else if(IsEqualGUID(&IID_IHTMLFramesCollection2, riid)) {
TRACE("(%p)->(IID_IHTMLFramesCollection2 %p)\n", This, ppv);
*ppv = HTMLWINDOW2(This);
*ppv = &This->IHTMLWindow2_iface;
}else if(IsEqualGUID(&IID_IHTMLWindow2, riid)) {
TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv);
*ppv = HTMLWINDOW2(This);
*ppv = &This->IHTMLWindow2_iface;
}else if(IsEqualGUID(&IID_IHTMLWindow3, riid)) {
TRACE("(%p)->(IID_IHTMLWindow3 %p)\n", This, ppv);
*ppv = HTMLWINDOW3(This);
@ -209,7 +212,7 @@ static HRESULT WINAPI HTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID rii
static ULONG WINAPI HTMLWindow2_AddRef(IHTMLWindow2 *iface)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
LONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
@ -219,7 +222,7 @@ static ULONG WINAPI HTMLWindow2_AddRef(IHTMLWindow2 *iface)
static ULONG WINAPI HTMLWindow2_Release(IHTMLWindow2 *iface)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
@ -276,7 +279,7 @@ static ULONG WINAPI HTMLWindow2_Release(IHTMLWindow2 *iface)
static HRESULT WINAPI HTMLWindow2_GetTypeInfoCount(IHTMLWindow2 *iface, UINT *pctinfo)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
return IDispatchEx_GetTypeInfoCount(DISPATCHEX(This), pctinfo);
}
@ -284,7 +287,7 @@ static HRESULT WINAPI HTMLWindow2_GetTypeInfoCount(IHTMLWindow2 *iface, UINT *pc
static HRESULT WINAPI HTMLWindow2_GetTypeInfo(IHTMLWindow2 *iface, UINT iTInfo,
LCID lcid, ITypeInfo **ppTInfo)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
return IDispatchEx_GetTypeInfo(DISPATCHEX(This), iTInfo, lcid, ppTInfo);
}
@ -293,7 +296,7 @@ static HRESULT WINAPI HTMLWindow2_GetIDsOfNames(IHTMLWindow2 *iface, REFIID riid
LPOLESTR *rgszNames, UINT cNames,
LCID lcid, DISPID *rgDispId)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
return IDispatchEx_GetIDsOfNames(DISPATCHEX(This), riid, rgszNames, cNames, lcid, rgDispId);
}
@ -302,7 +305,7 @@ static HRESULT WINAPI HTMLWindow2_Invoke(IHTMLWindow2 *iface, DISPID dispIdMembe
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
return IDispatchEx_Invoke(DISPATCHEX(This), dispIdMember, riid, lcid, wFlags, pDispParams,
pVarResult, pExcepInfo, puArgErr);
@ -338,7 +341,7 @@ static HRESULT get_frame_by_index(nsIDOMWindowCollection *nsFrames, PRUint32 ind
static HRESULT WINAPI HTMLWindow2_item(IHTMLWindow2 *iface, VARIANT *pvarIndex, VARIANT *pvarResult)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
nsIDOMWindowCollection *nsFrames;
HTMLWindow *window;
HRESULT hres;
@ -414,7 +417,7 @@ static HRESULT WINAPI HTMLWindow2_item(IHTMLWindow2 *iface, VARIANT *pvarIndex,
goto cleanup;
}
IHTMLWindow2_AddRef(HTMLWINDOW2(window));
IHTMLWindow2_AddRef(&window->IHTMLWindow2_iface);
V_VT(pvarResult) = VT_DISPATCH;
V_DISPATCH(pvarResult) = (IDispatch*)window;
@ -428,7 +431,7 @@ cleanup:
static HRESULT WINAPI HTMLWindow2_get_length(IHTMLWindow2 *iface, LONG *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
nsIDOMWindowCollection *nscollection;
PRUint32 length;
nsresult nsres;
@ -454,39 +457,39 @@ static HRESULT WINAPI HTMLWindow2_get_length(IHTMLWindow2 *iface, LONG *p)
static HRESULT WINAPI HTMLWindow2_get_frames(IHTMLWindow2 *iface, IHTMLFramesCollection2 **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p): semi-stub\n", This, p);
/* FIXME: Should return a separate Window object */
*p = (IHTMLFramesCollection2*)HTMLWINDOW2(This);
*p = (IHTMLFramesCollection2*)&This->IHTMLWindow2_iface;
HTMLWindow2_AddRef(iface);
return S_OK;
}
static HRESULT WINAPI HTMLWindow2_put_defaultStatus(IHTMLWindow2 *iface, BSTR v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
@ -494,7 +497,7 @@ static HRESULT WINAPI HTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p)
static HRESULT WINAPI HTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression,
LONG msec, VARIANT *language, LONG *timerID)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
VARIANT expr_var;
TRACE("(%p)->(%s %d %p %p)\n", This, debugstr_w(expression), msec, language, timerID);
@ -507,7 +510,7 @@ static HRESULT WINAPI HTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expressio
static HRESULT WINAPI HTMLWindow2_clearTimeout(IHTMLWindow2 *iface, LONG timerID)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%d)\n", This, timerID);
@ -518,7 +521,7 @@ static HRESULT WINAPI HTMLWindow2_clearTimeout(IHTMLWindow2 *iface, LONG timerID
static HRESULT WINAPI HTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
WCHAR title[100], *msg = message;
DWORD len;
@ -548,7 +551,7 @@ static HRESULT WINAPI HTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
static HRESULT WINAPI HTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message,
VARIANT_BOOL *confirmed)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
WCHAR wszTitle[100];
TRACE("(%p)->(%s %p)\n", This, debugstr_w(message), confirmed);
@ -643,7 +646,7 @@ static INT_PTR CALLBACK prompt_dlgproc(HWND hwnd, UINT msg,
static HRESULT WINAPI HTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message,
BSTR dststr, VARIANT *textdata)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
prompt_arg arg;
TRACE("(%p)->(%s %s %p)\n", This, debugstr_w(message), debugstr_w(dststr), textdata);
@ -661,7 +664,7 @@ static HRESULT WINAPI HTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message,
static HRESULT WINAPI HTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageElementFactory **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -676,7 +679,7 @@ static HRESULT WINAPI HTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageEleme
static HRESULT WINAPI HTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocation **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
HTMLLocation *location;
HRESULT hres;
@ -692,35 +695,35 @@ static HRESULT WINAPI HTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocatio
static HRESULT WINAPI HTMLWindow2_get_history(IHTMLWindow2 *iface, IOmHistory **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_close(IHTMLWindow2 *iface)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->()\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_opener(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_opener(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_navigator(IHTMLWindow2 *iface, IOmNavigator **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -730,7 +733,7 @@ static HRESULT WINAPI HTMLWindow2_get_navigator(IHTMLWindow2 *iface, IOmNavigato
static HRESULT WINAPI HTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
nsAString name_str;
nsresult nsres;
@ -747,7 +750,7 @@ static HRESULT WINAPI HTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v)
static HRESULT WINAPI HTMLWindow2_get_name(IHTMLWindow2 *iface, BSTR *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
nsAString name_str;
nsresult nsres;
HRESULT hres;
@ -778,11 +781,11 @@ static HRESULT WINAPI HTMLWindow2_get_name(IHTMLWindow2 *iface, BSTR *p)
static HRESULT WINAPI HTMLWindow2_get_parent(IHTMLWindow2 *iface, IHTMLWindow2 **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
if(This->parent) {
*p = HTMLWINDOW2(This->parent);
*p = &This->parent->IHTMLWindow2_iface;
IHTMLWindow2_AddRef(*p);
}else
*p = NULL;
@ -793,7 +796,7 @@ static HRESULT WINAPI HTMLWindow2_get_parent(IHTMLWindow2 *iface, IHTMLWindow2 *
static HRESULT WINAPI HTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name,
BSTR features, VARIANT_BOOL replace, IHTMLWindow2 **pomWindowResult)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s %s %s %x %p)\n", This, debugstr_w(url), debugstr_w(name),
debugstr_w(features), replace, pomWindowResult);
return E_NOTIMPL;
@ -801,25 +804,26 @@ static HRESULT WINAPI HTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name,
static HRESULT WINAPI HTMLWindow2_get_self(IHTMLWindow2 *iface, IHTMLWindow2 **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
/* FIXME: We should return kind of proxy window here. */
IHTMLWindow2_AddRef(HTMLWINDOW2(This));
*p = HTMLWINDOW2(This);
IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
*p = &This->IHTMLWindow2_iface;
return S_OK;
}
static HRESULT WINAPI HTMLWindow2_get_top(IHTMLWindow2 *iface, IHTMLWindow2 **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface), *curr;
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
HTMLWindow *curr;
TRACE("(%p)->(%p)\n", This, p);
curr = This;
while(curr->parent)
curr = curr->parent;
*p = HTMLWINDOW2(curr);
*p = &curr->IHTMLWindow2_iface;
IHTMLWindow2_AddRef(*p);
return S_OK;
@ -827,54 +831,54 @@ static HRESULT WINAPI HTMLWindow2_get_top(IHTMLWindow2 *iface, IHTMLWindow2 **p)
static HRESULT WINAPI HTMLWindow2_get_window(IHTMLWindow2 *iface, IHTMLWindow2 **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
/* FIXME: We should return kind of proxy window here. */
IHTMLWindow2_AddRef(HTMLWINDOW2(This));
*p = HTMLWINDOW2(This);
IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
*p = &This->IHTMLWindow2_iface;
return S_OK;
}
static HRESULT WINAPI HTMLWindow2_navigate(IHTMLWindow2 *iface, BSTR url)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(url));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_onfocus(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_onfocus(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_onblur(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_onblur(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_onload(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
@ -883,7 +887,7 @@ static HRESULT WINAPI HTMLWindow2_put_onload(IHTMLWindow2 *iface, VARIANT v)
static HRESULT WINAPI HTMLWindow2_get_onload(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -892,7 +896,7 @@ static HRESULT WINAPI HTMLWindow2_get_onload(IHTMLWindow2 *iface, VARIANT *p)
static HRESULT WINAPI HTMLWindow2_put_onbeforeunload(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(v(%d))\n", This, V_VT(&v));
@ -901,7 +905,7 @@ static HRESULT WINAPI HTMLWindow2_put_onbeforeunload(IHTMLWindow2 *iface, VARIAN
static HRESULT WINAPI HTMLWindow2_get_onbeforeunload(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -910,49 +914,49 @@ static HRESULT WINAPI HTMLWindow2_get_onbeforeunload(IHTMLWindow2 *iface, VARIAN
static HRESULT WINAPI HTMLWindow2_put_onunload(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_onunload(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_onhelp(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_onhelp(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_onerror(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_onerror(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_put_onresize(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
@ -961,7 +965,7 @@ static HRESULT WINAPI HTMLWindow2_put_onresize(IHTMLWindow2 *iface, VARIANT v)
static HRESULT WINAPI HTMLWindow2_get_onresize(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -970,21 +974,21 @@ static HRESULT WINAPI HTMLWindow2_get_onresize(IHTMLWindow2 *iface, VARIANT *p)
static HRESULT WINAPI HTMLWindow2_put_onscroll(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_onscroll(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_document(IHTMLWindow2 *iface, IHTMLDocument2 **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -1001,7 +1005,7 @@ static HRESULT WINAPI HTMLWindow2_get_document(IHTMLWindow2 *iface, IHTMLDocumen
static HRESULT WINAPI HTMLWindow2_get_event(IHTMLWindow2 *iface, IHTMLEventObj **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -1013,7 +1017,7 @@ static HRESULT WINAPI HTMLWindow2_get_event(IHTMLWindow2 *iface, IHTMLEventObj *
static HRESULT WINAPI HTMLWindow2_get__newEnum(IHTMLWindow2 *iface, IUnknown **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
@ -1021,7 +1025,7 @@ static HRESULT WINAPI HTMLWindow2_get__newEnum(IHTMLWindow2 *iface, IUnknown **p
static HRESULT WINAPI HTMLWindow2_showModalDialog(IHTMLWindow2 *iface, BSTR dialog,
VARIANT *varArgIn, VARIANT *varOptions, VARIANT *varArgOut)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s %p %p %p)\n", This, debugstr_w(dialog), varArgIn, varOptions, varArgOut);
return E_NOTIMPL;
}
@ -1029,14 +1033,14 @@ static HRESULT WINAPI HTMLWindow2_showModalDialog(IHTMLWindow2 *iface, BSTR dial
static HRESULT WINAPI HTMLWindow2_showHelp(IHTMLWindow2 *iface, BSTR helpURL, VARIANT helpArg,
BSTR features)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%s v(%d) %s)\n", This, debugstr_w(helpURL), V_VT(&helpArg), debugstr_w(features));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -1055,7 +1059,7 @@ static HRESULT WINAPI HTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen **
static HRESULT WINAPI HTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionElementFactory **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -1070,35 +1074,35 @@ static HRESULT WINAPI HTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionEle
static HRESULT WINAPI HTMLWindow2_focus(IHTMLWindow2 *iface)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->()\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_closed(IHTMLWindow2 *iface, VARIANT_BOOL *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_blur(IHTMLWindow2 *iface)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->()\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_scroll(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%d %d)\n", This, x, y);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_clientInformation(IHTMLWindow2 *iface, IOmNavigator **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
@ -1106,7 +1110,7 @@ static HRESULT WINAPI HTMLWindow2_get_clientInformation(IHTMLWindow2 *iface, IOm
static HRESULT WINAPI HTMLWindow2_setInterval(IHTMLWindow2 *iface, BSTR expression,
LONG msec, VARIANT *language, LONG *timerID)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
VARIANT expr;
TRACE("(%p)->(%s %d %p %p)\n", This, debugstr_w(expression), msec, language, timerID);
@ -1118,7 +1122,7 @@ static HRESULT WINAPI HTMLWindow2_setInterval(IHTMLWindow2 *iface, BSTR expressi
static HRESULT WINAPI HTMLWindow2_clearInterval(IHTMLWindow2 *iface, LONG timerID)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%d)\n", This, timerID);
@ -1127,14 +1131,14 @@ static HRESULT WINAPI HTMLWindow2_clearInterval(IHTMLWindow2 *iface, LONG timerI
static HRESULT WINAPI HTMLWindow2_put_offscreenBuffering(IHTMLWindow2 *iface, VARIANT v)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(v(%d))\n", This, V_VT(&v));
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_offscreenBuffering(IHTMLWindow2 *iface, VARIANT *p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
}
@ -1142,7 +1146,7 @@ static HRESULT WINAPI HTMLWindow2_get_offscreenBuffering(IHTMLWindow2 *iface, VA
static HRESULT WINAPI HTMLWindow2_execScript(IHTMLWindow2 *iface, BSTR scode, BSTR language,
VARIANT *pvarRet)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%s %s %p)\n", This, debugstr_w(scode), debugstr_w(language), pvarRet);
@ -1151,7 +1155,7 @@ static HRESULT WINAPI HTMLWindow2_execScript(IHTMLWindow2 *iface, BSTR scode, BS
static HRESULT WINAPI HTMLWindow2_toString(IHTMLWindow2 *iface, BSTR *String)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
@ -1166,7 +1170,7 @@ static HRESULT WINAPI HTMLWindow2_toString(IHTMLWindow2 *iface, BSTR *String)
static HRESULT WINAPI HTMLWindow2_scrollBy(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
nsresult nsres;
TRACE("(%p)->(%d %d)\n", This, x, y);
@ -1180,7 +1184,7 @@ static HRESULT WINAPI HTMLWindow2_scrollBy(IHTMLWindow2 *iface, LONG x, LONG y)
static HRESULT WINAPI HTMLWindow2_scrollTo(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
nsresult nsres;
TRACE("(%p)->(%d %d)\n", This, x, y);
@ -1194,35 +1198,35 @@ static HRESULT WINAPI HTMLWindow2_scrollTo(IHTMLWindow2 *iface, LONG x, LONG y)
static HRESULT WINAPI HTMLWindow2_moveTo(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%d %d)\n", This, x, y);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_moveBy(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%d %d)\n", This, x, y);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_resizeTo(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%d %d)\n", This, x, y);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_resizeBy(IHTMLWindow2 *iface, LONG x, LONG y)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
FIXME("(%p)->(%d %d)\n", This, x, y);
return E_NOTIMPL;
}
static HRESULT WINAPI HTMLWindow2_get_external(IHTMLWindow2 *iface, IDispatch **p)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2(iface);
TRACE("(%p)->(%p)\n", This, p);
@ -1237,7 +1241,7 @@ static HRESULT WINAPI HTMLWindow2_get_external(IHTMLWindow2 *iface, IDispatch **
static HRESULT HTMLWindow_invoke(IUnknown *iface, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params,
VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
{
HTMLWindow *This = HTMLWINDOW2_THIS(iface);
HTMLWindow *This = impl_from_IHTMLWindow2((IHTMLWindow2*)iface);
global_prop_t *prop;
DWORD idx;
HRESULT hres;
@ -1295,8 +1299,6 @@ static HRESULT HTMLWindow_invoke(IUnknown *iface, DISPID id, LCID lcid, WORD fla
return hres;
}
#undef HTMLWINDOW2_THIS
static const IHTMLWindow2Vtbl HTMLWindow2Vtbl = {
HTMLWindow2_QueryInterface,
HTMLWindow2_AddRef,
@ -1383,21 +1385,21 @@ static HRESULT WINAPI HTMLWindow3_QueryInterface(IHTMLWindow3 *iface, REFIID rii
{
HTMLWindow *This = HTMLWINDOW3_THIS(iface);
return IHTMLWindow2_QueryInterface(HTMLWINDOW2(This), riid, ppv);
return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
}
static ULONG WINAPI HTMLWindow3_AddRef(IHTMLWindow3 *iface)
{
HTMLWindow *This = HTMLWINDOW3_THIS(iface);
return IHTMLWindow2_AddRef(HTMLWINDOW2(This));
return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
}
static ULONG WINAPI HTMLWindow3_Release(IHTMLWindow3 *iface)
{
HTMLWindow *This = HTMLWINDOW3_THIS(iface);
return IHTMLWindow2_Release(HTMLWINDOW2(This));
return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
}
static HRESULT WINAPI HTMLWindow3_GetTypeInfoCount(IHTMLWindow3 *iface, UINT *pctinfo)
@ -1599,21 +1601,21 @@ static HRESULT WINAPI HTMLWindow4_QueryInterface(IHTMLWindow4 *iface, REFIID rii
{
HTMLWindow *This = HTMLWINDOW4_THIS(iface);
return IHTMLWindow2_QueryInterface(HTMLWINDOW2(This), riid, ppv);
return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
}
static ULONG WINAPI HTMLWindow4_AddRef(IHTMLWindow4 *iface)
{
HTMLWindow *This = HTMLWINDOW4_THIS(iface);
return IHTMLWindow2_AddRef(HTMLWINDOW2(This));
return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
}
static ULONG WINAPI HTMLWindow4_Release(IHTMLWindow4 *iface)
{
HTMLWindow *This = HTMLWINDOW4_THIS(iface);
return IHTMLWindow2_Release(HTMLWINDOW2(This));
return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
}
static HRESULT WINAPI HTMLWindow4_GetTypeInfoCount(IHTMLWindow4 *iface, UINT *pctinfo)
@ -1692,21 +1694,21 @@ static HRESULT WINAPI HTMLPrivateWindow_QueryInterface(IHTMLPrivateWindow *iface
{
HTMLWindow *This = HTMLPRIVWINDOW_THIS(iface);
return IHTMLWindow2_QueryInterface(HTMLWINDOW2(This), riid, ppv);
return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
}
static ULONG WINAPI HTMLPrivateWindow_AddRef(IHTMLPrivateWindow *iface)
{
HTMLWindow *This = HTMLPRIVWINDOW_THIS(iface);
return IHTMLWindow2_AddRef(HTMLWINDOW2(This));
return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
}
static ULONG WINAPI HTMLPrivateWindow_Release(IHTMLPrivateWindow *iface)
{
HTMLWindow *This = HTMLPRIVWINDOW_THIS(iface);
return IHTMLWindow2_Release(HTMLWINDOW2(This));
return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
}
static HRESULT WINAPI HTMLPrivateWindow_SuperNavigate(IHTMLPrivateWindow *iface, BSTR url, BSTR arg2, BSTR arg3,
@ -1848,21 +1850,21 @@ static HRESULT WINAPI WindowDispEx_QueryInterface(IDispatchEx *iface, REFIID rii
{
HTMLWindow *This = DISPEX_THIS(iface);
return IHTMLWindow2_QueryInterface(HTMLWINDOW2(This), riid, ppv);
return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
}
static ULONG WINAPI WindowDispEx_AddRef(IDispatchEx *iface)
{
HTMLWindow *This = DISPEX_THIS(iface);
return IHTMLWindow2_AddRef(HTMLWINDOW2(This));
return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
}
static ULONG WINAPI WindowDispEx_Release(IDispatchEx *iface)
{
HTMLWindow *This = DISPEX_THIS(iface);
return IHTMLWindow2_Release(HTMLWINDOW2(This));
return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
}
static HRESULT WINAPI WindowDispEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
@ -2127,19 +2129,19 @@ static inline HTMLWindow *impl_from_IServiceProvider(IServiceProvider *iface)
static HRESULT WINAPI HTMLWindowSP_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
{
HTMLWindow *This = impl_from_IServiceProvider(iface);
return IHTMLWindow2_QueryInterface(HTMLWINDOW2(This), riid, ppv);
return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
}
static ULONG WINAPI HTMLWindowSP_AddRef(IServiceProvider *iface)
{
HTMLWindow *This = impl_from_IServiceProvider(iface);
return IHTMLWindow2_AddRef(HTMLWINDOW2(This));
return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
}
static ULONG WINAPI HTMLWindowSP_Release(IServiceProvider *iface)
{
HTMLWindow *This = impl_from_IServiceProvider(iface);
return IHTMLWindow2_Release(HTMLWINDOW2(This));
return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
}
static HRESULT WINAPI HTMLWindowSP_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
@ -2148,7 +2150,7 @@ static HRESULT WINAPI HTMLWindowSP_QueryService(IServiceProvider *iface, REFGUID
if(IsEqualGUID(guidService, &IID_IHTMLWindow2)) {
TRACE("IID_IHTMLWindow2\n");
return IHTMLWindow2_QueryInterface(HTMLWINDOW2(This), riid, ppv);
return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
}
TRACE("(%p)->(%s %s %p)\n", This, debugstr_guid(guidService), debugstr_guid(riid), ppv);
@ -2201,7 +2203,7 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML
return E_OUTOFMEMORY;
}
window->lpHTMLWindow2Vtbl = &HTMLWindow2Vtbl;
window->IHTMLWindow2_iface.lpVtbl = &HTMLWindow2Vtbl;
window->lpHTMLWindow3Vtbl = &HTMLWindow3Vtbl;
window->lpHTMLWindow4Vtbl = &HTMLWindow4Vtbl;
window->lpIHTMLPrivateWindowVtbl = &HTMLPrivateWindowVtbl;
@ -2213,7 +2215,7 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML
window->window_ref->window = window;
window->window_ref->ref = 1;
init_dispex(&window->dispex, (IUnknown*)HTMLWINDOW2(window), &HTMLWindow_dispex);
init_dispex(&window->dispex, (IUnknown*)&window->IHTMLWindow2_iface, &HTMLWindow_dispex);
if(nswindow) {
nsIDOMWindow_AddRef(nswindow);
@ -2231,7 +2233,7 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML
list_add_head(&window_list, &window->entry);
if(parent) {
IHTMLWindow2_AddRef(HTMLWINDOW2(window));
IHTMLWindow2_AddRef(&window->IHTMLWindow2_iface);
window->parent = parent;
list_add_tail(&parent->children, &window->sibling_entry);

View File

@ -260,7 +260,7 @@ typedef struct nsChannelBSC nsChannelBSC;
struct HTMLWindow {
DispatchEx dispex;
const IHTMLWindow2Vtbl *lpHTMLWindow2Vtbl;
IHTMLWindow2 IHTMLWindow2_iface;
const IHTMLWindow3Vtbl *lpHTMLWindow3Vtbl;
const IHTMLWindow4Vtbl *lpHTMLWindow4Vtbl;
const IHTMLPrivateWindowVtbl *lpIHTMLPrivateWindowVtbl;
@ -622,7 +622,6 @@ struct HTMLDocumentNode {
struct list plugin_hosts;
};
#define HTMLWINDOW2(x) ((IHTMLWindow2*) &(x)->lpHTMLWindow2Vtbl)
#define HTMLWINDOW3(x) ((IHTMLWindow3*) &(x)->lpHTMLWindow3Vtbl)
#define HTMLWINDOW4(x) ((IHTMLWindow4*) &(x)->lpHTMLWindow4Vtbl)
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)

View File

@ -808,7 +808,7 @@ static HTMLWindow *get_window_from_load_group(nsChannel *This)
window = wine_uri->window_ref ? wine_uri->window_ref->window : NULL;
if(window)
IHTMLWindow2_AddRef(HTMLWINDOW2(window));
IHTMLWindow2_AddRef(&window->IHTMLWindow2_iface);
nsIURI_Release(NSURI(wine_uri));
return window;
@ -858,7 +858,7 @@ static HTMLWindow *get_channel_window(nsChannel *This)
nsIDOMWindow_Release(nswindow);
if(window)
IHTMLWindow2_AddRef(HTMLWINDOW2(window));
IHTMLWindow2_AddRef(&window->IHTMLWindow2_iface);
else
FIXME("NULL window for %p\n", nswindow);
return window;
@ -948,7 +948,7 @@ static nsresult NSAPI nsChannel_AsyncOpen(nsIHttpChannel *iface, nsIStreamListen
if(!window) {
if(This->uri->window_ref && This->uri->window_ref->window) {
window = This->uri->window_ref->window;
IHTMLWindow2_AddRef(HTMLWINDOW2(window));
IHTMLWindow2_AddRef(&window->IHTMLWindow2_iface);
}else {
/* FIXME: Analyze removing get_window_from_load_group call */
if(This->load_group)
@ -993,7 +993,7 @@ static nsresult NSAPI nsChannel_AsyncOpen(nsIHttpChannel *iface, nsIStreamListen
ERR("AddRequest failed: %08x\n", nsres);
}
IHTMLWindow2_Release(HTMLWINDOW2(window));
IHTMLWindow2_Release(&window->IHTMLWindow2_iface);
return nsres;
}
@ -2722,7 +2722,7 @@ static nsresult NSAPI nsIOService_NewURI(nsIIOService *iface, const nsACString *
base_wine_url = base_wine_uri->wine_url;
if(base_wine_uri->window_ref && base_wine_uri->window_ref->window) {
window = base_wine_uri->window_ref->window;
IHTMLWindow2_AddRef(HTMLWINDOW2(window));
IHTMLWindow2_AddRef(&window->IHTMLWindow2_iface);
}
TRACE("base url: %s window: %p\n", debugstr_w(base_wine_url), window);
}else if(FAILED(ParseURLA(spec, &parsed_url))) {
@ -2743,7 +2743,7 @@ static nsresult NSAPI nsIOService_NewURI(nsIIOService *iface, const nsACString *
*_retval = (nsIURI*)wine_uri;
if(window)
IHTMLWindow2_Release(HTMLWINDOW2(window));
IHTMLWindow2_Release(&window->IHTMLWindow2_iface);
if(base_wine_url) {
WCHAR url[INTERNET_MAX_URL_LENGTH], rel_url[INTERNET_MAX_URL_LENGTH];

View File

@ -158,7 +158,7 @@ static nsresult NSAPI nsPromptService_Alert(nsIPromptService *iface, nsIDOMWindo
}
text = SysAllocString(aText);
IHTMLWindow2_alert(HTMLWINDOW2(window), text);
IHTMLWindow2_alert(&window->IHTMLWindow2_iface, text);
SysFreeString(text);
return NS_OK;

View File

@ -199,7 +199,7 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
if(!hostui_setup) {
V_VT(&var) = VT_UNKNOWN;
V_UNKNOWN(&var) = (IUnknown*)HTMLWINDOW2(This->window);
V_UNKNOWN(&var) = (IUnknown*)&This->window->IHTMLWindow2_iface;
IOleCommandTarget_Exec(cmdtrg, &CGID_DocHostCmdPriv, DOCHOST_DOCCANNAVIGATE, 0, &var, NULL);
}

View File

@ -233,7 +233,7 @@ HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, nsChannel
IOleCommandTarget_Exec(cmdtrg, &CGID_ShellDocView, 37, 0, &var, NULL);
}else {
V_VT(&var) = VT_UNKNOWN;
V_UNKNOWN(&var) = (IUnknown*)HTMLWINDOW2(This->window);
V_UNKNOWN(&var) = (IUnknown*)&This->window->IHTMLWindow2_iface;
V_VT(&out) = VT_EMPTY;
hres = IOleCommandTarget_Exec(cmdtrg, &CGID_ShellDocView, 63, 0, &var, &out);
if(SUCCEEDED(hres))

View File

@ -321,7 +321,7 @@ static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPC
return E_FAIL;
/* FIXME: Return proxy object */
*ppiunkItem = (IUnknown*)HTMLWINDOW2(This->window);
*ppiunkItem = (IUnknown*)&This->window->IHTMLWindow2_iface;
IUnknown_AddRef(*ppiunkItem);
return S_OK;