ReactOS 0.4.16-dev-329-g9223134
htmlwindow.c File Reference
#include "mshtml_private.h"
#include <exdispid.h>
Include dependency graph for htmlwindow.c:

Go to the source code of this file.

Classes

struct  prompt_arg
 

Macros

#define MAX_MESSAGE_LEN   2000
 

Functions

static BOOL is_outer_window (HTMLWindow *window)
 
static void release_children (HTMLOuterWindow *This)
 
static HRESULT get_location (HTMLInnerWindow *This, HTMLLocation **ret)
 
void get_top_window (HTMLOuterWindow *window, HTMLOuterWindow **ret)
 
static HRESULT set_window_event (HTMLWindow *window, eventid_t eid, VARIANT *var)
 
static HRESULT get_window_event (HTMLWindow *window, eventid_t eid, VARIANT *var)
 
static void detach_inner_window (HTMLInnerWindow *window)
 
static HTMLWindowimpl_from_IHTMLWindow2 (IHTMLWindow2 *iface)
 
static HRESULT WINAPI HTMLWindow2_QueryInterface (IHTMLWindow2 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLWindow2_AddRef (IHTMLWindow2 *iface)
 
static void release_outer_window (HTMLOuterWindow *This)
 
static void release_inner_window (HTMLInnerWindow *This)
 
static ULONG WINAPI HTMLWindow2_Release (IHTMLWindow2 *iface)
 
static HRESULT WINAPI HTMLWindow2_GetTypeInfoCount (IHTMLWindow2 *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLWindow2_GetTypeInfo (IHTMLWindow2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLWindow2_GetIDsOfNames (IHTMLWindow2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLWindow2_Invoke (IHTMLWindow2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT get_frame_by_index (HTMLOuterWindow *This, UINT32 index, HTMLOuterWindow **ret)
 
HRESULT get_frame_by_name (HTMLOuterWindow *This, const WCHAR *name, BOOL deep, HTMLOuterWindow **ret)
 
static HRESULT WINAPI HTMLWindow2_item (IHTMLWindow2 *iface, VARIANT *pvarIndex, VARIANT *pvarResult)
 
static HRESULT WINAPI HTMLWindow2_get_length (IHTMLWindow2 *iface, LONG *p)
 
static HRESULT WINAPI HTMLWindow2_get_frames (IHTMLWindow2 *iface, IHTMLFramesCollection2 **p)
 
static HRESULT WINAPI HTMLWindow2_put_defaultStatus (IHTMLWindow2 *iface, BSTR v)
 
static HRESULT WINAPI HTMLWindow2_get_defaultStatus (IHTMLWindow2 *iface, BSTR *p)
 
static HRESULT WINAPI HTMLWindow2_put_status (IHTMLWindow2 *iface, BSTR v)
 
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)
 
static HRESULT WINAPI HTMLWindow2_clearTimeout (IHTMLWindow2 *iface, LONG timerID)
 
static HRESULT WINAPI HTMLWindow2_alert (IHTMLWindow2 *iface, BSTR message)
 
static HRESULT WINAPI HTMLWindow2_confirm (IHTMLWindow2 *iface, BSTR message, VARIANT_BOOL *confirmed)
 
static INT_PTR CALLBACK prompt_dlgproc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 
static HRESULT WINAPI HTMLWindow2_prompt (IHTMLWindow2 *iface, BSTR message, BSTR dststr, VARIANT *textdata)
 
static HRESULT WINAPI HTMLWindow2_get_Image (IHTMLWindow2 *iface, IHTMLImageElementFactory **p)
 
static HRESULT WINAPI HTMLWindow2_get_location (IHTMLWindow2 *iface, IHTMLLocation **p)
 
static HRESULT WINAPI HTMLWindow2_get_history (IHTMLWindow2 *iface, IOmHistory **p)
 
static BOOL notify_webbrowser_close (HTMLOuterWindow *window, HTMLDocumentObj *doc)
 
static HRESULT WINAPI HTMLWindow2_close (IHTMLWindow2 *iface)
 
static HRESULT WINAPI HTMLWindow2_put_opener (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_opener (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_get_navigator (IHTMLWindow2 *iface, IOmNavigator **p)
 
static HRESULT WINAPI HTMLWindow2_put_name (IHTMLWindow2 *iface, BSTR v)
 
static HRESULT WINAPI HTMLWindow2_get_name (IHTMLWindow2 *iface, BSTR *p)
 
static HRESULT WINAPI HTMLWindow2_get_parent (IHTMLWindow2 *iface, IHTMLWindow2 **p)
 
static HRESULT WINAPI HTMLWindow2_open (IHTMLWindow2 *iface, BSTR url, BSTR name, BSTR features, VARIANT_BOOL replace, IHTMLWindow2 **pomWindowResult)
 
static HRESULT WINAPI HTMLWindow2_get_self (IHTMLWindow2 *iface, IHTMLWindow2 **p)
 
static HRESULT WINAPI HTMLWindow2_get_top (IHTMLWindow2 *iface, IHTMLWindow2 **p)
 
static HRESULT WINAPI HTMLWindow2_get_window (IHTMLWindow2 *iface, IHTMLWindow2 **p)
 
static HRESULT WINAPI HTMLWindow2_navigate (IHTMLWindow2 *iface, BSTR url)
 
static HRESULT WINAPI HTMLWindow2_put_onfocus (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onfocus (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onblur (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onblur (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onload (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onload (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onbeforeunload (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onbeforeunload (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onunload (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onunload (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onhelp (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onhelp (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onerror (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onerror (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onresize (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onresize (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_put_onscroll (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_onscroll (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_get_document (IHTMLWindow2 *iface, IHTMLDocument2 **p)
 
static HRESULT WINAPI HTMLWindow2_get_event (IHTMLWindow2 *iface, IHTMLEventObj **p)
 
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)
 
static HRESULT WINAPI HTMLWindow2_showHelp (IHTMLWindow2 *iface, BSTR helpURL, VARIANT helpArg, BSTR features)
 
static HRESULT WINAPI HTMLWindow2_get_screen (IHTMLWindow2 *iface, IHTMLScreen **p)
 
static HRESULT WINAPI HTMLWindow2_get_Option (IHTMLWindow2 *iface, IHTMLOptionElementFactory **p)
 
static HRESULT WINAPI HTMLWindow2_focus (IHTMLWindow2 *iface)
 
static HRESULT WINAPI HTMLWindow2_get_closed (IHTMLWindow2 *iface, VARIANT_BOOL *p)
 
static HRESULT WINAPI HTMLWindow2_blur (IHTMLWindow2 *iface)
 
static HRESULT WINAPI HTMLWindow2_scroll (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_get_clientInformation (IHTMLWindow2 *iface, IOmNavigator **p)
 
static HRESULT WINAPI HTMLWindow2_setInterval (IHTMLWindow2 *iface, BSTR expression, LONG msec, VARIANT *language, LONG *timerID)
 
static HRESULT WINAPI HTMLWindow2_clearInterval (IHTMLWindow2 *iface, LONG timerID)
 
static HRESULT WINAPI HTMLWindow2_put_offscreenBuffering (IHTMLWindow2 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow2_get_offscreenBuffering (IHTMLWindow2 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow2_execScript (IHTMLWindow2 *iface, BSTR scode, BSTR language, VARIANT *pvarRet)
 
static HRESULT WINAPI HTMLWindow2_toString (IHTMLWindow2 *iface, BSTR *String)
 
static HRESULT WINAPI HTMLWindow2_scrollBy (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_scrollTo (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_moveTo (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_moveBy (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_resizeTo (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_resizeBy (IHTMLWindow2 *iface, LONG x, LONG y)
 
static HRESULT WINAPI HTMLWindow2_get_external (IHTMLWindow2 *iface, IDispatch **p)
 
static HTMLWindowimpl_from_IHTMLWindow3 (IHTMLWindow3 *iface)
 
static HRESULT WINAPI HTMLWindow3_QueryInterface (IHTMLWindow3 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLWindow3_AddRef (IHTMLWindow3 *iface)
 
static ULONG WINAPI HTMLWindow3_Release (IHTMLWindow3 *iface)
 
static HRESULT WINAPI HTMLWindow3_GetTypeInfoCount (IHTMLWindow3 *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLWindow3_GetTypeInfo (IHTMLWindow3 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLWindow3_GetIDsOfNames (IHTMLWindow3 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLWindow3_Invoke (IHTMLWindow3 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI HTMLWindow3_get_screenLeft (IHTMLWindow3 *iface, LONG *p)
 
static HRESULT WINAPI HTMLWindow3_get_screenTop (IHTMLWindow3 *iface, LONG *p)
 
static HRESULT WINAPI HTMLWindow3_attachEvent (IHTMLWindow3 *iface, BSTR event, IDispatch *pDisp, VARIANT_BOOL *pfResult)
 
static HRESULT WINAPI HTMLWindow3_detachEvent (IHTMLWindow3 *iface, BSTR event, IDispatch *pDisp)
 
static HRESULT window_set_timer (HTMLInnerWindow *This, VARIANT *expr, LONG msec, VARIANT *language, BOOL interval, LONG *timer_id)
 
static HRESULT WINAPI HTMLWindow3_setTimeout (IHTMLWindow3 *iface, VARIANT *expression, LONG msec, VARIANT *language, LONG *timerID)
 
static HRESULT WINAPI HTMLWindow3_setInterval (IHTMLWindow3 *iface, VARIANT *expression, LONG msec, VARIANT *language, LONG *timerID)
 
static HRESULT WINAPI HTMLWindow3_print (IHTMLWindow3 *iface)
 
static HRESULT WINAPI HTMLWindow3_put_onbeforeprint (IHTMLWindow3 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow3_get_onbeforeprint (IHTMLWindow3 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow3_put_onafterprint (IHTMLWindow3 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow3_get_onafterprint (IHTMLWindow3 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow3_get_clipboardData (IHTMLWindow3 *iface, IHTMLDataTransfer **p)
 
static HRESULT WINAPI HTMLWindow3_showModelessDialog (IHTMLWindow3 *iface, BSTR url, VARIANT *varArgIn, VARIANT *options, IHTMLWindow2 **pDialog)
 
static HTMLWindowimpl_from_IHTMLWindow4 (IHTMLWindow4 *iface)
 
static HRESULT WINAPI HTMLWindow4_QueryInterface (IHTMLWindow4 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLWindow4_AddRef (IHTMLWindow4 *iface)
 
static ULONG WINAPI HTMLWindow4_Release (IHTMLWindow4 *iface)
 
static HRESULT WINAPI HTMLWindow4_GetTypeInfoCount (IHTMLWindow4 *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLWindow4_GetTypeInfo (IHTMLWindow4 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLWindow4_GetIDsOfNames (IHTMLWindow4 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLWindow4_Invoke (IHTMLWindow4 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI HTMLWindow4_createPopup (IHTMLWindow4 *iface, VARIANT *varArgIn, IDispatch **ppPopup)
 
static HRESULT WINAPI HTMLWindow4_get_frameElement (IHTMLWindow4 *iface, IHTMLFrameBase **p)
 
static HTMLWindowimpl_from_IHTMLWindow5 (IHTMLWindow5 *iface)
 
static HRESULT WINAPI HTMLWindow5_QueryInterface (IHTMLWindow5 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLWindow5_AddRef (IHTMLWindow5 *iface)
 
static ULONG WINAPI HTMLWindow5_Release (IHTMLWindow5 *iface)
 
static HRESULT WINAPI HTMLWindow5_GetTypeInfoCount (IHTMLWindow5 *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLWindow5_GetTypeInfo (IHTMLWindow5 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLWindow5_GetIDsOfNames (IHTMLWindow5 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLWindow5_Invoke (IHTMLWindow5 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI HTMLWindow5_put_XMLHttpRequest (IHTMLWindow5 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow5_get_XMLHttpRequest (IHTMLWindow5 *iface, VARIANT *p)
 
static HTMLWindowimpl_from_IHTMLWindow6 (IHTMLWindow6 *iface)
 
static HRESULT WINAPI HTMLWindow6_QueryInterface (IHTMLWindow6 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLWindow6_AddRef (IHTMLWindow6 *iface)
 
static ULONG WINAPI HTMLWindow6_Release (IHTMLWindow6 *iface)
 
static HRESULT WINAPI HTMLWindow6_GetTypeInfoCount (IHTMLWindow6 *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLWindow6_GetTypeInfo (IHTMLWindow6 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLWindow6_GetIDsOfNames (IHTMLWindow6 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLWindow6_Invoke (IHTMLWindow6 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI HTMLWindow6_put_XDomainRequest (IHTMLWindow6 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow6_get_XDomainRequest (IHTMLWindow6 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow6_get_sessionStorage (IHTMLWindow6 *iface, IHTMLStorage **p)
 
static HRESULT WINAPI HTMLWindow6_get_localStorage (IHTMLWindow6 *iface, IHTMLStorage **p)
 
static HRESULT WINAPI HTMLWindow6_put_onhashchange (IHTMLWindow6 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow6_get_onhashchange (IHTMLWindow6 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow6_get_maxConnectionsPerServer (IHTMLWindow6 *iface, LONG *p)
 
static HRESULT WINAPI HTMLWindow6_postMessage (IHTMLWindow6 *iface, BSTR msg, VARIANT targetOrigin)
 
static HRESULT WINAPI HTMLWindow6_toStaticHTML (IHTMLWindow6 *iface, BSTR bstrHTML, BSTR *pbstrStaticHTML)
 
static HRESULT WINAPI HTMLWindow6_put_onmessage (IHTMLWindow6 *iface, VARIANT v)
 
static HRESULT WINAPI HTMLWindow6_get_onmessage (IHTMLWindow6 *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLWindow6_msWriteProfilerMark (IHTMLWindow6 *iface, BSTR bstrProfilerMark)
 
static HTMLWindowimpl_from_IHTMLPrivateWindow (IHTMLPrivateWindow *iface)
 
static HRESULT WINAPI HTMLPrivateWindow_QueryInterface (IHTMLPrivateWindow *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLPrivateWindow_AddRef (IHTMLPrivateWindow *iface)
 
static ULONG WINAPI HTMLPrivateWindow_Release (IHTMLPrivateWindow *iface)
 
static HRESULT WINAPI HTMLPrivateWindow_SuperNavigate (IHTMLPrivateWindow *iface, BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data_var, VARIANT *headers_var, ULONG flags)
 
static HRESULT WINAPI HTMLPrivateWindow_GetPendingUrl (IHTMLPrivateWindow *iface, BSTR *url)
 
static HRESULT WINAPI HTMLPrivateWindow_SetPICSTarget (IHTMLPrivateWindow *iface, IOleCommandTarget *cmdtrg)
 
static HRESULT WINAPI HTMLPrivateWindow_PICSComplete (IHTMLPrivateWindow *iface, int arg)
 
static HRESULT WINAPI HTMLPrivateWindow_FindWindowByName (IHTMLPrivateWindow *iface, LPCWSTR name, IHTMLWindow2 **ret)
 
static HRESULT WINAPI HTMLPrivateWindow_GetAddressBarUrl (IHTMLPrivateWindow *iface, BSTR *url)
 
static HTMLWindowimpl_from_ITravelLogClient (ITravelLogClient *iface)
 
static HRESULT WINAPI TravelLogClient_QueryInterface (ITravelLogClient *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI TravelLogClient_AddRef (ITravelLogClient *iface)
 
static ULONG WINAPI TravelLogClient_Release (ITravelLogClient *iface)
 
static HRESULT WINAPI TravelLogClient_FindWindowByIndex (ITravelLogClient *iface, DWORD dwID, IUnknown **ppunk)
 
static HRESULT WINAPI TravelLogClient_GetWindowData (ITravelLogClient *iface, IStream *pStream, LPWINDOWDATA pWinData)
 
static HRESULT WINAPI TravelLogClient_LoadHistoryPosition (ITravelLogClient *iface, LPWSTR pszUrlLocation, DWORD dwPosition)
 
static HTMLWindowimpl_from_IObjectIdentity (IObjectIdentity *iface)
 
static HRESULT WINAPI ObjectIdentity_QueryInterface (IObjectIdentity *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ObjectIdentity_AddRef (IObjectIdentity *iface)
 
static ULONG WINAPI ObjectIdentity_Release (IObjectIdentity *iface)
 
static HRESULT WINAPI ObjectIdentity_IsEqualObject (IObjectIdentity *iface, IUnknown *unk)
 
static HTMLWindowimpl_from_IDispatchEx (IDispatchEx *iface)
 
static HRESULT WINAPI WindowDispEx_QueryInterface (IDispatchEx *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI WindowDispEx_AddRef (IDispatchEx *iface)
 
static ULONG WINAPI WindowDispEx_Release (IDispatchEx *iface)
 
static HRESULT WINAPI WindowDispEx_GetTypeInfoCount (IDispatchEx *iface, UINT *pctinfo)
 
static HRESULT WINAPI WindowDispEx_GetTypeInfo (IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI WindowDispEx_GetIDsOfNames (IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI WindowDispEx_Invoke (IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static global_prop_talloc_global_prop (HTMLInnerWindow *This, global_prop_type_t type, BSTR name)
 
static DWORD prop_to_dispid (HTMLInnerWindow *This, global_prop_t *prop)
 
HRESULT search_window_props (HTMLInnerWindow *This, BSTR bstrName, DWORD grfdex, DISPID *pid)
 
static HRESULT WINAPI WindowDispEx_GetDispID (IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
 
static HRESULT WINAPI WindowDispEx_InvokeEx (IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
 
static HRESULT WINAPI WindowDispEx_DeleteMemberByName (IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
 
static HRESULT WINAPI WindowDispEx_DeleteMemberByDispID (IDispatchEx *iface, DISPID id)
 
static HRESULT WINAPI WindowDispEx_GetMemberProperties (IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
 
static HRESULT WINAPI WindowDispEx_GetMemberName (IDispatchEx *iface, DISPID id, BSTR *pbstrName)
 
static HRESULT WINAPI WindowDispEx_GetNextDispID (IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
 
static HRESULT WINAPI WindowDispEx_GetNameSpaceParent (IDispatchEx *iface, IUnknown **ppunk)
 
static HTMLWindowimpl_from_IServiceProvider (IServiceProvider *iface)
 
static HRESULT WINAPI HTMLWindowSP_QueryInterface (IServiceProvider *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLWindowSP_AddRef (IServiceProvider *iface)
 
static ULONG WINAPI HTMLWindowSP_Release (IServiceProvider *iface)
 
static HRESULT WINAPI HTMLWindowSP_QueryService (IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
 
static HTMLInnerWindowimpl_from_DispatchEx (DispatchEx *iface)
 
static HRESULT HTMLWindow_invoke (DispatchEx *dispex, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
 
static event_target_t ** HTMLWindow_get_event_target_ptr (DispatchEx *dispex)
 
static void HTMLWindow_bind_event (DispatchEx *dispex, int eid)
 
static voidalloc_window (size_t size)
 
static HRESULT create_inner_window (HTMLOuterWindow *outer_window, IMoniker *mon, HTMLInnerWindow **ret)
 
HRESULT HTMLOuterWindow_Create (HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTMLOuterWindow *parent, HTMLOuterWindow **ret)
 
HRESULT create_pending_window (HTMLOuterWindow *outer_window, nsChannelBSC *channelbsc)
 
HRESULT update_window_doc (HTMLInnerWindow *window)
 
HTMLOuterWindownswindow_to_window (const nsIDOMWindow *nswindow)
 

Variables

static struct list window_list = LIST_INIT(window_list)
 
static const IHTMLWindow2Vtbl HTMLWindow2Vtbl
 
static const IHTMLWindow3Vtbl HTMLWindow3Vtbl
 
static const IHTMLWindow4Vtbl HTMLWindow4Vtbl
 
static const IHTMLWindow5Vtbl HTMLWindow5Vtbl
 
static const IHTMLWindow6Vtbl HTMLWindow6Vtbl
 
static const IHTMLPrivateWindowVtbl HTMLPrivateWindowVtbl
 
static const ITravelLogClientVtbl TravelLogClientVtbl
 
static const IObjectIdentityVtbl ObjectIdentityVtbl
 
static const IDispatchExVtbl WindowDispExVtbl
 
static const IServiceProviderVtbl ServiceProviderVtbl
 
static const dispex_static_data_vtbl_t HTMLWindow_dispex_vtbl
 
static const tid_t HTMLWindow_iface_tids []
 
static dispex_static_data_t HTMLWindow_dispex
 

Macro Definition Documentation

◆ MAX_MESSAGE_LEN

#define MAX_MESSAGE_LEN   2000

Definition at line 566 of file htmlwindow.c.

Function Documentation

◆ alloc_global_prop()

static global_prop_t * alloc_global_prop ( HTMLInnerWindow This,
global_prop_type_t  type,
BSTR  name 
)
static

Definition at line 2481 of file htmlwindow.c.

2482{
2483 if(This->global_prop_cnt == This->global_prop_size) {
2484 global_prop_t *new_props;
2485 DWORD new_size;
2486
2487 if(This->global_props) {
2488 new_size = This->global_prop_size*2;
2489 new_props = heap_realloc(This->global_props, new_size*sizeof(global_prop_t));
2490 }else {
2491 new_size = 16;
2492 new_props = heap_alloc(new_size*sizeof(global_prop_t));
2493 }
2494 if(!new_props)
2495 return NULL;
2496 This->global_props = new_props;
2497 This->global_prop_size = new_size;
2498 }
2499
2500 This->global_props[This->global_prop_cnt].name = heap_strdupW(name);
2501 if(!This->global_props[This->global_prop_cnt].name)
2502 return NULL;
2503
2504 This->global_props[This->global_prop_cnt].type = type;
2505 return This->global_props + This->global_prop_cnt++;
2506}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static void * heap_realloc(void *mem, size_t len)
Definition: appwiz.h:71
#define NULL
Definition: types.h:112
static WCHAR * heap_strdupW(const WCHAR *str)
Definition: edit.c:4312
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
Definition: name.c:39

Referenced by search_window_props(), and WindowDispEx_GetDispID().

◆ alloc_window()

static void * alloc_window ( size_t  size)
static

Definition at line 2894 of file htmlwindow.c.

2895{
2897
2898 window = heap_alloc_zero(size);
2899 if(!window)
2900 return NULL;
2901
2902 window->IHTMLWindow2_iface.lpVtbl = &HTMLWindow2Vtbl;
2903 window->IHTMLWindow3_iface.lpVtbl = &HTMLWindow3Vtbl;
2904 window->IHTMLWindow4_iface.lpVtbl = &HTMLWindow4Vtbl;
2905 window->IHTMLWindow5_iface.lpVtbl = &HTMLWindow5Vtbl;
2906 window->IHTMLWindow6_iface.lpVtbl = &HTMLWindow6Vtbl;
2907 window->IHTMLPrivateWindow_iface.lpVtbl = &HTMLPrivateWindowVtbl;
2908 window->IDispatchEx_iface.lpVtbl = &WindowDispExVtbl;
2909 window->IServiceProvider_iface.lpVtbl = &ServiceProviderVtbl;
2910 window->ITravelLogClient_iface.lpVtbl = &TravelLogClientVtbl;
2911 window->IObjectIdentity_iface.lpVtbl = &ObjectIdentityVtbl;
2912 window->ref = 1;
2913
2914 return window;
2915}
GLsizeiptr size
Definition: glext.h:5919
static const IHTMLWindow2Vtbl HTMLWindow2Vtbl
Definition: htmlwindow.c:1463
static const IHTMLWindow3Vtbl HTMLWindow3Vtbl
Definition: htmlwindow.c:1766
static const IHTMLWindow6Vtbl HTMLWindow6Vtbl
Definition: htmlwindow.c:2143
static const ITravelLogClientVtbl TravelLogClientVtbl
Definition: htmlwindow.c:2341
static const IHTMLWindow5Vtbl HTMLWindow5Vtbl
Definition: htmlwindow.c:1974
static const IHTMLPrivateWindowVtbl HTMLPrivateWindowVtbl
Definition: htmlwindow.c:2279
static const IDispatchExVtbl WindowDispExVtbl
Definition: htmlwindow.c:2682
static const IHTMLWindow4Vtbl HTMLWindow4Vtbl
Definition: htmlwindow.c:1872
static const IServiceProviderVtbl ServiceProviderVtbl
Definition: htmlwindow.c:2741
static const IObjectIdentityVtbl ObjectIdentityVtbl
Definition: htmlwindow.c:2394
static IHTMLWindow2 * window
Definition: events.c:77

Referenced by create_inner_window(), and HTMLOuterWindow_Create().

◆ create_inner_window()

static HRESULT create_inner_window ( HTMLOuterWindow outer_window,
IMoniker mon,
HTMLInnerWindow **  ret 
)
static

Definition at line 2917 of file htmlwindow.c.

2918{
2920
2922 if(!window)
2923 return E_OUTOFMEMORY;
2924
2925 list_init(&window->script_hosts);
2926 list_init(&window->bindings);
2927 list_init(&window->script_queue);
2928
2929 window->base.outer_window = outer_window;
2930 window->base.inner_window = window;
2931
2932 init_dispex(&window->event_target.dispex, (IUnknown*)&window->base.IHTMLWindow2_iface, &HTMLWindow_dispex);
2933
2934 window->task_magic = get_task_target_magic();
2935
2936 if(mon) {
2937 IMoniker_AddRef(mon);
2938 window->mon = mon;
2939 }
2940
2941 *ret = window;
2942 return S_OK;
2943}
static void list_init(struct list_entry *head)
Definition: list.h:51
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static dispex_static_data_t HTMLWindow_dispex
Definition: htmlwindow.c:2887
static void * alloc_window(size_t size)
Definition: htmlwindow.c:2894
#define S_OK
Definition: intsafe.h:52
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
Definition: dispex.c:919
LONG get_task_target_magic(void) DECLSPEC_HIDDEN
Definition: task.c:139
int ret

Referenced by create_pending_window().

◆ create_pending_window()

HRESULT create_pending_window ( HTMLOuterWindow outer_window,
nsChannelBSC channelbsc 
)

Definition at line 3009 of file htmlwindow.c.

3010{
3011 HTMLInnerWindow *pending_window;
3012 HRESULT hres;
3013
3014 hres = create_inner_window(outer_window, outer_window->mon /* FIXME */, &pending_window);
3015 if(FAILED(hres))
3016 return hres;
3017
3018 if(channelbsc) {
3019 IBindStatusCallback_AddRef(&channelbsc->bsc.IBindStatusCallback_iface);
3020 pending_window->bscallback = channelbsc;
3021 }
3022
3023 if(outer_window->pending_window) {
3025 outer_window->pending_window->base.outer_window = NULL;
3026 IHTMLWindow2_Release(&outer_window->pending_window->base.IHTMLWindow2_iface);
3027 }
3028
3029 outer_window->pending_window = pending_window;
3030 return S_OK;
3031}
static HRESULT create_inner_window(HTMLOuterWindow *outer_window, IMoniker *mon, HTMLInnerWindow **ret)
Definition: htmlwindow.c:2917
#define FAILED(hr)
Definition: intsafe.h:51
HRESULT hres
Definition: protocol.c:465
void abort_window_bindings(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: navigate.c:1775
IBindStatusCallback IBindStatusCallback_iface
Definition: binding.h:72
nsChannelBSC * bscallback
HTMLInnerWindow * pending_window
HTMLOuterWindow * outer_window
IHTMLWindow2 IHTMLWindow2_iface
BSCallback bsc
Definition: binding.h:98

Referenced by async_open(), HTMLOuterWindow_Create(), and set_moniker().

◆ detach_inner_window()

static void detach_inner_window ( HTMLInnerWindow window)
static

Definition at line 87 of file htmlwindow.c.

88{
89 HTMLOuterWindow *outer_window = window->base.outer_window;
90
91 if(outer_window && outer_window->doc_obj && outer_window == outer_window->doc_obj->basedoc.window)
92 window->doc->basedoc.cp_container.forward_container = NULL;
93
94 if(window->doc) {
96 while(!list_empty(&window->doc->plugin_hosts))
98 }
99
101 remove_target_tasks(window->task_magic);
103 window->base.outer_window = NULL;
104
105 if(outer_window && outer_window->base.inner_window == window) {
106 outer_window->base.inner_window = NULL;
107 IHTMLWindow2_Release(&window->base.IHTMLWindow2_iface);
108 }
109}
static int list_empty(struct list_entry *head)
Definition: list.h:58
void detach_events(HTMLDocumentNode *doc)
Definition: htmlevent.c:1341
void release_script_hosts(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: script.c:1583
uint32_t entry
Definition: isohybrid.c:63
void remove_target_tasks(LONG) DECLSPEC_HIDDEN
Definition: task.c:107
void detach_plugin_host(PluginHost *host)
Definition: pluginhost.c:1988
HTMLDocument basedoc
HTMLOuterWindow * window
HTMLDocumentObj * doc_obj
HTMLInnerWindow * inner_window
Definition: list.h:15
#define LIST_ENTRY(type)
Definition: queue.h:175

Referenced by release_inner_window(), release_outer_window(), and update_window_doc().

◆ get_frame_by_index()

static HRESULT get_frame_by_index ( HTMLOuterWindow This,
UINT32  index,
HTMLOuterWindow **  ret 
)
static

Definition at line 309 of file htmlwindow.c.

310{
311 nsIDOMWindowCollection *nsframes;
312 nsIDOMWindow *nswindow;
314 nsresult nsres;
315
316 nsres = nsIDOMWindow_GetFrames(This->nswindow, &nsframes);
317 if(NS_FAILED(nsres)) {
318 FIXME("nsIDOMWindow_GetFrames failed: 0x%08x\n", nsres);
319 return E_FAIL;
320 }
321
322 nsres = nsIDOMWindowCollection_GetLength(nsframes, &length);
323 assert(nsres == NS_OK);
324
325 if(index >= length) {
326 nsIDOMWindowCollection_Release(nsframes);
328 }
329
330 nsres = nsIDOMWindowCollection_Item(nsframes, index, &nswindow);
331 nsIDOMWindowCollection_Release(nsframes);
332 if(NS_FAILED(nsres)) {
333 FIXME("nsIDOMWindowCollection_Item failed: 0x%08x\n", nsres);
334 return E_FAIL;
335 }
336
337 *ret = nswindow_to_window(nswindow);
338
339 nsIDOMWindow_Release(nswindow);
340 return S_OK;
341}
unsigned int UINT32
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_FAIL
Definition: ddrawi.h:102
#define assert(x)
Definition: debug.h:53
GLuint index
Definition: glext.h:6031
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
HTMLOuterWindow * nswindow_to_window(const nsIDOMWindow *nswindow)
Definition: htmlwindow.c:3099
#define NS_OK
#define NS_FAILED(res)
#define DISP_E_MEMBERNOTFOUND
Definition: winerror.h:2512

Referenced by HTMLWindow2_item().

◆ get_frame_by_name()

HRESULT get_frame_by_name ( HTMLOuterWindow This,
const WCHAR name,
BOOL  deep,
HTMLOuterWindow **  ret 
)

Definition at line 343 of file htmlwindow.c.

344{
345 nsIDOMWindowCollection *nsframes;
347 nsIDOMWindow *nswindow;
348 nsAString name_str;
349 UINT32 length, i;
350 nsresult nsres;
351 HRESULT hres = S_OK;
352
353 nsres = nsIDOMWindow_GetFrames(This->nswindow, &nsframes);
354 if(NS_FAILED(nsres)) {
355 FIXME("nsIDOMWindow_GetFrames failed: 0x%08x\n", nsres);
356 return E_FAIL;
357 }
358
359 if(!nsframes) {
360 WARN("nsIDOMWindow_GetFrames returned NULL nsframes: %p\n", This->nswindow);
362 }
363
364 nsAString_InitDepend(&name_str, name);
365 nsres = nsIDOMWindowCollection_NamedItem(nsframes, &name_str, &nswindow);
366 nsAString_Finish(&name_str);
367 if(NS_FAILED(nsres)) {
368 nsIDOMWindowCollection_Release(nsframes);
369 return E_FAIL;
370 }
371
372 if(nswindow) {
373 *ret = nswindow_to_window(nswindow);
374 return S_OK;
375 }
376
377 nsres = nsIDOMWindowCollection_GetLength(nsframes, &length);
378 assert(nsres == NS_OK);
379
380 for(i = 0; i < length && !window; ++i) {
381 HTMLOuterWindow *window_iter;
382 BSTR id;
383
384 nsres = nsIDOMWindowCollection_Item(nsframes, i, &nswindow);
385 if(NS_FAILED(nsres)) {
386 FIXME("nsIDOMWindowCollection_Item failed: 0x%08x\n", nsres);
387 hres = E_FAIL;
388 break;
389 }
390
391 window_iter = nswindow_to_window(nswindow);
392
393 nsIDOMWindow_Release(nswindow);
394
395 if(!window_iter) {
396 WARN("nsIDOMWindow without HTMLOuterWindow: %p\n", nswindow);
397 continue;
398 }
399
400 hres = IHTMLElement_get_id(&window_iter->frame_element->element.IHTMLElement_iface, &id);
401 if(FAILED(hres)) {
402 FIXME("IHTMLElement_get_id failed: 0x%08x\n", hres);
403 break;
404 }
405
406 if(id && !strcmpiW(id, name))
407 window = window_iter;
408
409 SysFreeString(id);
410
411 if(!window && deep)
412 get_frame_by_name(window_iter, name, TRUE, &window);
413 }
414
415 nsIDOMWindowCollection_Release(nsframes);
416 if(FAILED(hres))
417 return hres;
418
419 *ret = window;
420 return NS_OK;
421}
#define WARN(fmt,...)
Definition: precomp.h:61
#define TRUE
Definition: types.h:120
OLECHAR * BSTR
Definition: compat.h:2293
GLuint id
Definition: glext.h:5910
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HRESULT get_frame_by_name(HTMLOuterWindow *This, const WCHAR *name, BOOL deep, HTMLOuterWindow **ret)
Definition: htmlwindow.c:343
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
#define strcmpiW(s1, s2)
Definition: unicode.h:45
IHTMLElement IHTMLElement_iface
HTMLElement element
HTMLFrameBase * frame_element

Referenced by get_frame_by_name(), get_target_window(), HTMLWindow2_item(), HTMLWindow_invoke(), and WindowDispEx_GetDispID().

◆ get_location()

static HRESULT get_location ( HTMLInnerWindow This,
HTMLLocation **  ret 
)
static

Definition at line 43 of file htmlwindow.c.

44{
45 if(This->location) {
46 IHTMLLocation_AddRef(&This->location->IHTMLLocation_iface);
47 }else {
49
50 hres = HTMLLocation_Create(This, &This->location);
51 if(FAILED(hres))
52 return hres;
53 }
54
55 *ret = This->location;
56 return S_OK;
57}
HRESULT HTMLLocation_Create(HTMLInnerWindow *window, HTMLLocation **ret)
Definition: htmllocation.c:622

Referenced by FT_DEFINE_SERVICE(), HTMLWindow2_get_location(), XMLStorage::XMLReaderBase::StartElementHandler(), and WindowDispEx_InvokeEx().

◆ get_top_window()

void get_top_window ( HTMLOuterWindow window,
HTMLOuterWindow **  ret 
)

Definition at line 59 of file htmlwindow.c.

60{
61 HTMLOuterWindow *iter;
62
63 for(iter = window; iter->parent; iter = iter->parent);
64 *ret = iter;
65}
HTMLOuterWindow * parent

Referenced by get_target_window(), and HTMLWindow2_get_top().

◆ get_window_event()

static HRESULT get_window_event ( HTMLWindow window,
eventid_t  eid,
VARIANT var 
)
inlinestatic

Definition at line 77 of file htmlwindow.c.

78{
79 if(!window->inner_window->doc) {
80 FIXME("No document\n");
81 return E_FAIL;
82 }
83
84 return get_event_handler(&window->inner_window->event_target, eid, var);
85}
HRESULT get_event_handler(EventTarget *event_target, eventid_t eid, VARIANT *var)
Definition: htmlevent.c:1447
const char * var
Definition: shader.c:5666

Referenced by HTMLWindow2_get_onbeforeunload(), HTMLWindow2_get_onblur(), HTMLWindow2_get_onerror(), HTMLWindow2_get_onfocus(), HTMLWindow2_get_onhelp(), HTMLWindow2_get_onload(), HTMLWindow2_get_onresize(), and HTMLWindow2_get_onscroll().

◆ HTMLOuterWindow_Create()

HRESULT HTMLOuterWindow_Create ( HTMLDocumentObj doc_obj,
nsIDOMWindow nswindow,
HTMLOuterWindow parent,
HTMLOuterWindow **  ret 
)

Definition at line 2945 of file htmlwindow.c.

2947{
2949 HRESULT hres;
2950
2952 if(!window)
2953 return E_OUTOFMEMORY;
2954
2955 window->base.outer_window = window;
2956 window->base.inner_window = NULL;
2957
2958 window->window_ref = heap_alloc(sizeof(windowref_t));
2959 if(!window->window_ref) {
2961 return E_OUTOFMEMORY;
2962 }
2963
2964 window->doc_obj = doc_obj;
2965
2966 window->window_ref->window = window;
2967 window->window_ref->ref = 1;
2968
2969 if(nswindow) {
2970 nsIDOMWindow_AddRef(nswindow);
2971 window->nswindow = nswindow;
2972 }
2973
2974 window->scriptmode = parent ? parent->scriptmode : SCRIPTMODE_GECKO;
2975 window->readystate = READYSTATE_UNINITIALIZED;
2976
2978 if(SUCCEEDED(hres))
2979 hres = update_window_doc(window->pending_window);
2980 if(FAILED(hres)) {
2981 IHTMLWindow2_Release(&window->base.IHTMLWindow2_iface);
2982 return hres;
2983 }
2984
2986 if(FAILED(hres)) {
2987 IHTMLWindow2_Release(&window->base.IHTMLWindow2_iface);
2988 return hres;
2989 }
2990
2991 window->task_magic = get_task_target_magic();
2992
2993 list_init(&window->children);
2994 list_add_head(&window_list, &window->entry);
2995
2996 if(parent) {
2997 IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface);
2998
2999 window->parent = parent;
3000 list_add_tail(&parent->children, &window->sibling_entry);
3001 }
3002
3003 TRACE("%p inner_window %p\n", window, window->base.inner_window);
3004
3005 *ret = window;
3006 return S_OK;
3007}
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
Definition: list.h:83
static void list_add_head(struct list_entry *head, struct list_entry *entry)
Definition: list.h:76
HRESULT WINAPI CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved)
Definition: sec_mgr.c:1841
r parent
Definition: btrfs.c:3010
static struct list window_list
Definition: htmlwindow.c:23
HRESULT update_window_doc(HTMLInnerWindow *window)
Definition: htmlwindow.c:3033
HRESULT create_pending_window(HTMLOuterWindow *outer_window, nsChannelBSC *channelbsc)
Definition: htmlwindow.c:3009
#define SUCCEEDED(hr)
Definition: intsafe.h:50
@ SCRIPTMODE_GECKO
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by HTMLDocument_Create(), and set_frame_doc().

◆ HTMLPrivateWindow_AddRef()

static ULONG WINAPI HTMLPrivateWindow_AddRef ( IHTMLPrivateWindow iface)
static

Definition at line 2177 of file htmlwindow.c.

2178{
2180
2181 return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
2182}
static HTMLWindow * impl_from_IHTMLPrivateWindow(IHTMLPrivateWindow *iface)
Definition: htmlwindow.c:2165

◆ HTMLPrivateWindow_FindWindowByName()

static HRESULT WINAPI HTMLPrivateWindow_FindWindowByName ( IHTMLPrivateWindow iface,
LPCWSTR  name,
IHTMLWindow2 **  ret 
)
static

Definition at line 2260 of file htmlwindow.c.

2261{
2263 FIXME("(%p)->(%s %p)\n", This, debugstr_w(name), ret);
2264 return E_NOTIMPL;
2265}
#define E_NOTIMPL
Definition: ddrawi.h:99
#define debugstr_w
Definition: kernel32.h:32

◆ HTMLPrivateWindow_GetAddressBarUrl()

static HRESULT WINAPI HTMLPrivateWindow_GetAddressBarUrl ( IHTMLPrivateWindow iface,
BSTR url 
)
static

Definition at line 2267 of file htmlwindow.c.

2268{
2270 TRACE("(%p)->(%p)\n", This, url);
2271
2272 if(!url)
2273 return E_INVALIDARG;
2274
2275 *url = SysAllocString(This->outer_window->url);
2276 return S_OK;
2277}
#define E_INVALIDARG
Definition: ddrawi.h:101
static const WCHAR url[]
Definition: encode.c:1432
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238

◆ HTMLPrivateWindow_GetPendingUrl()

static HRESULT WINAPI HTMLPrivateWindow_GetPendingUrl ( IHTMLPrivateWindow iface,
BSTR url 
)
static

Definition at line 2239 of file htmlwindow.c.

2240{
2242 FIXME("(%p)->(%p)\n", This, url);
2243 return E_NOTIMPL;
2244}

◆ HTMLPrivateWindow_PICSComplete()

static HRESULT WINAPI HTMLPrivateWindow_PICSComplete ( IHTMLPrivateWindow iface,
int  arg 
)
static

Definition at line 2253 of file htmlwindow.c.

2254{
2256 FIXME("(%p)->(%x)\n", This, arg);
2257 return E_NOTIMPL;
2258}

◆ HTMLPrivateWindow_QueryInterface()

static HRESULT WINAPI HTMLPrivateWindow_QueryInterface ( IHTMLPrivateWindow iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 2170 of file htmlwindow.c.

2171{
2173
2174 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
2175}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ HTMLPrivateWindow_Release()

static ULONG WINAPI HTMLPrivateWindow_Release ( IHTMLPrivateWindow iface)
static

Definition at line 2184 of file htmlwindow.c.

2185{
2187
2188 return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
2189}

◆ HTMLPrivateWindow_SetPICSTarget()

static HRESULT WINAPI HTMLPrivateWindow_SetPICSTarget ( IHTMLPrivateWindow iface,
IOleCommandTarget cmdtrg 
)
static

Definition at line 2246 of file htmlwindow.c.

2247{
2249 FIXME("(%p)->(%p)\n", This, cmdtrg);
2250 return E_NOTIMPL;
2251}

◆ HTMLPrivateWindow_SuperNavigate()

static HRESULT WINAPI HTMLPrivateWindow_SuperNavigate ( IHTMLPrivateWindow iface,
BSTR  url,
BSTR  arg2,
BSTR  arg3,
BSTR  arg4,
VARIANT post_data_var,
VARIANT headers_var,
ULONG  flags 
)
static

Definition at line 2191 of file htmlwindow.c.

2193{
2195 HTMLOuterWindow *window = This->outer_window;
2196 OLECHAR *translated_url = NULL;
2197 DWORD post_data_size = 0;
2198 BYTE *post_data = NULL;
2199 WCHAR *headers = NULL;
2200 IUri *uri;
2201 HRESULT hres;
2202
2203 TRACE("(%p)->(%s %s %s %s %s %s %x)\n", This, debugstr_w(url), debugstr_w(arg2), debugstr_w(arg3), debugstr_w(arg4),
2204 debugstr_variant(post_data_var), debugstr_variant(headers_var), flags);
2205
2206 if(window->doc_obj->hostui) {
2207 hres = IDocHostUIHandler_TranslateUrl(window->doc_obj->hostui, 0, url, &translated_url);
2208 if(hres != S_OK)
2209 translated_url = NULL;
2210 }
2211
2212 hres = create_uri(translated_url ? translated_url : url, 0, &uri);
2213 CoTaskMemFree(translated_url);
2214 if(FAILED(hres))
2215 return hres;
2216
2217 if(post_data_var) {
2218 if(V_VT(post_data_var) == (VT_ARRAY|VT_UI1)) {
2219 SafeArrayAccessData(V_ARRAY(post_data_var), (void**)&post_data);
2220 post_data_size = V_ARRAY(post_data_var)->rgsabound[0].cElements;
2221 }
2222 }
2223
2224 if(headers_var && V_VT(headers_var) != VT_EMPTY && V_VT(headers_var) != VT_ERROR) {
2225 if(V_VT(headers_var) != VT_BSTR)
2226 return E_INVALIDARG;
2227
2228 headers = V_BSTR(headers_var);
2229 }
2230
2232 IUri_Release(uri);
2233 if(post_data)
2234 SafeArrayUnaccessData(V_ARRAY(post_data_var));
2235
2236 return hres;
2237}
#define BINDING_NAVIGATED
Definition: binding.h:127
#define BINDING_NOFRAG
Definition: binding.h:132
HRESULT super_navigate(HTMLOuterWindow *, IUri *, DWORD, const WCHAR *, BYTE *, DWORD) DECLSPEC_HIDDEN
Definition: navigate.c:2016
HRESULT create_uri(const WCHAR *, DWORD, IUri **) DECLSPEC_HIDDEN
Definition: persist.c:158
WCHAR OLECHAR
Definition: compat.h:2292
@ VT_BSTR
Definition: compat.h:2303
@ VT_ERROR
Definition: compat.h:2305
@ VT_ARRAY
Definition: compat.h:2341
@ VT_EMPTY
Definition: compat.h:2295
@ VT_UI1
Definition: compat.h:2311
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
Definition: safearray.c:1137
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
Definition: safearray.c:1168
GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg3
Definition: glext.h:9515
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
Definition: glext.h:9514
GLbitfield flags
Definition: glext.h:7161
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
static const CHAR post_data[]
Definition: protocol.c:217
const char * uri
Definition: sec_mgr.c:1588
#define V_ARRAY(A)
Definition: oleauto.h:222
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
vector< Header * > headers
Definition: sdkparse.cpp:39
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned char BYTE
Definition: xxhash.c:193

◆ HTMLWindow2_AddRef()

static ULONG WINAPI HTMLWindow2_AddRef ( IHTMLWindow2 iface)
static

Definition at line 161 of file htmlwindow.c.

162{
165
166 TRACE("(%p) ref=%d\n", This, ref);
167
168 return ref;
169}
#define InterlockedIncrement
Definition: armddk.h:53
static HTMLWindow * impl_from_IHTMLWindow2(IHTMLWindow2 *iface)
Definition: htmlwindow.c:111
long LONG
Definition: pedump.c:60
Definition: send.c:48

Referenced by HTMLWindow2_get_frames().

◆ HTMLWindow2_alert()

static HRESULT WINAPI HTMLWindow2_alert ( IHTMLWindow2 iface,
BSTR  message 
)
static

Definition at line 568 of file htmlwindow.c.

569{
571 WCHAR title[100], *msg = message;
572 DWORD len;
573
574 TRACE("(%p)->(%s)\n", This, debugstr_w(message));
575
577 sizeof(title)/sizeof(WCHAR))) {
578 WARN("Could not load message box title: %d\n", GetLastError());
579 return S_OK;
580 }
581
583 if(len > MAX_MESSAGE_LEN) {
584 msg = heap_alloc((MAX_MESSAGE_LEN+1)*sizeof(WCHAR));
585 if(!msg)
586 return E_OUTOFMEMORY;
588 msg[MAX_MESSAGE_LEN] = 0;
589 }
590
591 MessageBoxW(This->outer_window->doc_obj->hwnd, msg, title, MB_ICONWARNING);
592 if(msg != message)
593 heap_free(msg);
594 return S_OK;
595}
#define msg(x)
Definition: auth_time.c:54
HINSTANCE get_shdoclc(void)
Definition: main.c:162
#define IDS_MESSAGE_BOX_TITLE
Definition: resource.h:32
GLenum GLsizei len
Definition: glext.h:6722
#define MAX_MESSAGE_LEN
Definition: htmlwindow.c:566
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
UINT WINAPI SysStringLen(BSTR str)
Definition: oleaut.c:196
static char title[]
Definition: ps.c:92
Definition: tftpd.h:60
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
#define MB_ICONWARNING
Definition: winuser.h:789

◆ HTMLWindow2_blur()

static HRESULT WINAPI HTMLWindow2_blur ( IHTMLWindow2 iface)
static

Definition at line 1302 of file htmlwindow.c.

1303{
1305 FIXME("(%p)->()\n", This);
1306 return E_NOTIMPL;
1307}

◆ HTMLWindow2_clearInterval()

static HRESULT WINAPI HTMLWindow2_clearInterval ( IHTMLWindow2 iface,
LONG  timerID 
)
static

Definition at line 1345 of file htmlwindow.c.

1346{
1348
1349 TRACE("(%p)->(%d)\n", This, timerID);
1350
1351 return clear_task_timer(This->inner_window, TRUE, timerID);
1352}
HRESULT clear_task_timer(HTMLInnerWindow *, BOOL, DWORD) DECLSPEC_HIDDEN
Definition: task.c:201

◆ HTMLWindow2_clearTimeout()

static HRESULT WINAPI HTMLWindow2_clearTimeout ( IHTMLWindow2 iface,
LONG  timerID 
)
static

Definition at line 557 of file htmlwindow.c.

558{
560
561 TRACE("(%p)->(%d)\n", This, timerID);
562
563 return clear_task_timer(This->inner_window, FALSE, timerID);
564}
#define FALSE
Definition: types.h:117

◆ HTMLWindow2_close()

static HRESULT WINAPI HTMLWindow2_close ( IHTMLWindow2 iface)
static

Definition at line 825 of file htmlwindow.c.

826{
828 HTMLOuterWindow *window = This->outer_window;
829
830 TRACE("(%p)\n", This);
831
832 if(!window->doc_obj) {
833 FIXME("No document object\n");
834 return E_FAIL;
835 }
836
838 return S_OK;
839
840 FIXME("default action not implemented\n");
841 return E_NOTIMPL;
842}
static BOOL notify_webbrowser_close(HTMLOuterWindow *window, HTMLDocumentObj *doc)
Definition: htmlwindow.c:768

◆ HTMLWindow2_confirm()

static HRESULT WINAPI HTMLWindow2_confirm ( IHTMLWindow2 iface,
BSTR  message,
VARIANT_BOOL confirmed 
)
static

Definition at line 597 of file htmlwindow.c.

599{
601 WCHAR wszTitle[100];
602
603 TRACE("(%p)->(%s %p)\n", This, debugstr_w(message), confirmed);
604
605 if(!confirmed) return E_INVALIDARG;
606
608 sizeof(wszTitle)/sizeof(WCHAR))) {
609 WARN("Could not load message box title: %d\n", GetLastError());
610 *confirmed = VARIANT_TRUE;
611 return S_OK;
612 }
613
614 if(MessageBoxW(This->outer_window->doc_obj->hwnd, message, wszTitle,
616 *confirmed = VARIANT_TRUE;
617 else *confirmed = VARIANT_FALSE;
618
619 return S_OK;
620}
#define IDOK
Definition: winuser.h:833
#define MB_OKCANCEL
Definition: winuser.h:807
#define MB_ICONQUESTION
Definition: winuser.h:792

◆ HTMLWindow2_execScript()

static HRESULT WINAPI HTMLWindow2_execScript ( IHTMLWindow2 iface,
BSTR  scode,
BSTR  language,
VARIANT pvarRet 
)
static

Definition at line 1368 of file htmlwindow.c.

1370{
1372
1373 TRACE("(%p)->(%s %s %p)\n", This, debugstr_w(scode), debugstr_w(language), pvarRet);
1374
1375 return exec_script(This->inner_window, scode, language, pvarRet);
1376}
HRESULT exec_script(HTMLInnerWindow *, const WCHAR *, const WCHAR *, VARIANT *) DECLSPEC_HIDDEN
Definition: script.c:1245

◆ HTMLWindow2_focus()

static HRESULT WINAPI HTMLWindow2_focus ( IHTMLWindow2 iface)
static

Definition at line 1284 of file htmlwindow.c.

1285{
1287
1288 TRACE("(%p)->()\n", This);
1289
1290 if(This->outer_window->doc_obj)
1291 SetFocus(This->outer_window->doc_obj->hwnd);
1292 return S_OK;
1293}
HWND WINAPI SetFocus(_In_opt_ HWND)

◆ HTMLWindow2_get__newEnum()

static HRESULT WINAPI HTMLWindow2_get__newEnum ( IHTMLWindow2 iface,
IUnknown **  p 
)
static

Definition at line 1220 of file htmlwindow.c.

1221{
1223 FIXME("(%p)->(%p)\n", This, p);
1224 return E_NOTIMPL;
1225}
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLWindow2_get_clientInformation()

static HRESULT WINAPI HTMLWindow2_get_clientInformation ( IHTMLWindow2 iface,
IOmNavigator **  p 
)
static

Definition at line 1325 of file htmlwindow.c.

1326{
1328 FIXME("(%p)->(%p)\n", This, p);
1329 return E_NOTIMPL;
1330}

◆ HTMLWindow2_get_closed()

static HRESULT WINAPI HTMLWindow2_get_closed ( IHTMLWindow2 iface,
VARIANT_BOOL p 
)
static

Definition at line 1295 of file htmlwindow.c.

1296{
1298 FIXME("(%p)->(%p)\n", This, p);
1299 return E_NOTIMPL;
1300}

◆ HTMLWindow2_get_defaultStatus()

static HRESULT WINAPI HTMLWindow2_get_defaultStatus ( IHTMLWindow2 iface,
BSTR p 
)
static

Definition at line 512 of file htmlwindow.c.

513{
515 FIXME("(%p)->(%p)\n", This, p);
516 return E_NOTIMPL;
517}

◆ HTMLWindow2_get_document()

static HRESULT WINAPI HTMLWindow2_get_document ( IHTMLWindow2 iface,
IHTMLDocument2 **  p 
)
static

Definition at line 1190 of file htmlwindow.c.

1191{
1193
1194 TRACE("(%p)->(%p)\n", This, p);
1195
1196 if(This->inner_window->doc) {
1197 /* FIXME: We should return a wrapper object here */
1198 *p = &This->inner_window->doc->basedoc.IHTMLDocument2_iface;
1199 IHTMLDocument2_AddRef(*p);
1200 }else {
1201 *p = NULL;
1202 }
1203
1204 return S_OK;
1205}

◆ HTMLWindow2_get_event()

static HRESULT WINAPI HTMLWindow2_get_event ( IHTMLWindow2 iface,
IHTMLEventObj **  p 
)
static

Definition at line 1207 of file htmlwindow.c.

1208{
1210 HTMLInnerWindow *window = This->inner_window;
1211
1212 TRACE("(%p)->(%p)\n", This, p);
1213
1214 if(window->event)
1215 IHTMLEventObj_AddRef(window->event);
1216 *p = window->event;
1217 return S_OK;
1218}

◆ HTMLWindow2_get_external()

static HRESULT WINAPI HTMLWindow2_get_external ( IHTMLWindow2 iface,
IDispatch **  p 
)
static

Definition at line 1449 of file htmlwindow.c.

1450{
1452
1453 TRACE("(%p)->(%p)\n", This, p);
1454
1455 *p = NULL;
1456
1457 if(!This->outer_window->doc_obj->hostui)
1458 return S_OK;
1459
1460 return IDocHostUIHandler_GetExternal(This->outer_window->doc_obj->hostui, p);
1461}

◆ HTMLWindow2_get_frames()

static HRESULT WINAPI HTMLWindow2_get_frames ( IHTMLWindow2 iface,
IHTMLFramesCollection2 **  p 
)
static

Definition at line 494 of file htmlwindow.c.

495{
497 FIXME("(%p)->(%p): semi-stub\n", This, p);
498
499 /* FIXME: Should return a separate Window object */
500 *p = (IHTMLFramesCollection2*)&This->IHTMLWindow2_iface;
501 HTMLWindow2_AddRef(iface);
502 return S_OK;
503}
static ULONG WINAPI HTMLWindow2_AddRef(IHTMLWindow2 *iface)
Definition: htmlwindow.c:161

◆ HTMLWindow2_get_history()

static HRESULT WINAPI HTMLWindow2_get_history ( IHTMLWindow2 iface,
IOmHistory **  p 
)
static

Definition at line 748 of file htmlwindow.c.

749{
751 HTMLInnerWindow *window = This->inner_window;
752
753 TRACE("(%p)->(%p)\n", This, p);
754
755 if(!window->history) {
757
758 hres = create_history(window, &window->history);
759 if(FAILED(hres))
760 return hres;
761 }
762
763 IOmHistory_AddRef(&window->history->IOmHistory_iface);
764 *p = &window->history->IOmHistory_iface;
765 return S_OK;
766}
HRESULT create_history(HTMLInnerWindow *, OmHistory **) DECLSPEC_HIDDEN
Definition: omnavigator.c:335

◆ HTMLWindow2_get_Image()

static HRESULT WINAPI HTMLWindow2_get_Image ( IHTMLWindow2 iface,
IHTMLImageElementFactory **  p 
)
static

Definition at line 711 of file htmlwindow.c.

712{
714 HTMLInnerWindow *window = This->inner_window;
715
716 TRACE("(%p)->(%p)\n", This, p);
717
718 if(!window->image_factory) {
720
722 if(FAILED(hres))
723 return hres;
724 }
725
726 *p = &window->image_factory->IHTMLImageElementFactory_iface;
727 IHTMLImageElementFactory_AddRef(*p);
728
729 return S_OK;
730}
HRESULT HTMLImageElementFactory_Create(HTMLInnerWindow *window, HTMLImageElementFactory **ret_val)
Definition: htmlimg.c:972

◆ HTMLWindow2_get_length()

static HRESULT WINAPI HTMLWindow2_get_length ( IHTMLWindow2 iface,
LONG p 
)
static

Definition at line 468 of file htmlwindow.c.

469{
471 nsIDOMWindowCollection *nscollection;
473 nsresult nsres;
474
475 TRACE("(%p)->(%p)\n", This, p);
476
477 nsres = nsIDOMWindow_GetFrames(This->outer_window->nswindow, &nscollection);
478 if(NS_FAILED(nsres)) {
479 ERR("GetFrames failed: %08x\n", nsres);
480 return E_FAIL;
481 }
482
483 nsres = nsIDOMWindowCollection_GetLength(nscollection, &length);
484 nsIDOMWindowCollection_Release(nscollection);
485 if(NS_FAILED(nsres)) {
486 ERR("GetLength failed: %08x\n", nsres);
487 return E_FAIL;
488 }
489
490 *p = length;
491 return S_OK;
492}
#define ERR(fmt,...)
Definition: precomp.h:57

◆ HTMLWindow2_get_location()

static HRESULT WINAPI HTMLWindow2_get_location ( IHTMLWindow2 iface,
IHTMLLocation **  p 
)
static

Definition at line 732 of file htmlwindow.c.

733{
737
738 TRACE("(%p)->(%p)\n", This, p);
739
740 hres = get_location(This->inner_window, &location);
741 if(FAILED(hres))
742 return hres;
743
744 *p = &location->IHTMLLocation_iface;
745 return S_OK;
746}
static HRESULT get_location(HTMLInnerWindow *This, HTMLLocation **ret)
Definition: htmlwindow.c:43
#define location(file, line)
Definition: kmtest.h:18

◆ HTMLWindow2_get_name()

static HRESULT WINAPI HTMLWindow2_get_name ( IHTMLWindow2 iface,
BSTR p 
)
static

Definition at line 888 of file htmlwindow.c.

889{
891 nsAString name_str;
892 nsresult nsres;
893
894 TRACE("(%p)->(%p)\n", This, p);
895
896 nsAString_Init(&name_str, NULL);
897 nsres = nsIDOMWindow_GetName(This->outer_window->nswindow, &name_str);
898 return return_nsstr(nsres, &name_str, p);
899}
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841

◆ HTMLWindow2_get_navigator()

static HRESULT WINAPI HTMLWindow2_get_navigator ( IHTMLWindow2 iface,
IOmNavigator **  p 
)
static

Definition at line 861 of file htmlwindow.c.

862{
864
865 TRACE("(%p)->(%p)\n", This, p);
866
868 return *p ? S_OK : E_OUTOFMEMORY;
869}
IOmNavigator * OmNavigator_Create(void) DECLSPEC_HIDDEN
Definition: omnavigator.c:1080

◆ HTMLWindow2_get_offscreenBuffering()

static HRESULT WINAPI HTMLWindow2_get_offscreenBuffering ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1361 of file htmlwindow.c.

1362{
1364 FIXME("(%p)->(%p)\n", This, p);
1365 return E_NOTIMPL;
1366}

◆ HTMLWindow2_get_onbeforeunload()

static HRESULT WINAPI HTMLWindow2_get_onbeforeunload ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1095 of file htmlwindow.c.

1096{
1098
1099 TRACE("(%p)->(%p)\n", This, p);
1100
1102}
@ EVENTID_BEFOREUNLOAD
Definition: htmlevent.h:23
static HRESULT get_window_event(HTMLWindow *window, eventid_t eid, VARIANT *var)
Definition: htmlwindow.c:77

◆ HTMLWindow2_get_onblur()

static HRESULT WINAPI HTMLWindow2_get_onblur ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1059 of file htmlwindow.c.

1060{
1062
1063 TRACE("(%p)->(%p)\n", This, p);
1064
1066}
@ EVENTID_BLUR
Definition: htmlevent.h:24

◆ HTMLWindow2_get_onerror()

static HRESULT WINAPI HTMLWindow2_get_onerror ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1145 of file htmlwindow.c.

1146{
1148
1149 TRACE("(%p)->(%p)\n", This, p);
1150
1152}
@ EVENTID_ERROR
Definition: htmlevent.h:32

◆ HTMLWindow2_get_onfocus()

static HRESULT WINAPI HTMLWindow2_get_onfocus ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1041 of file htmlwindow.c.

1042{
1044
1045 TRACE("(%p)->(%p)\n", This, p);
1046
1048}
@ EVENTID_FOCUS
Definition: htmlevent.h:33

◆ HTMLWindow2_get_onhelp()

static HRESULT WINAPI HTMLWindow2_get_onhelp ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1127 of file htmlwindow.c.

1128{
1130
1131 TRACE("(%p)->(%p)\n", This, p);
1132
1134}
@ EVENTID_HELP
Definition: htmlevent.h:35

◆ HTMLWindow2_get_onload()

static HRESULT WINAPI HTMLWindow2_get_onload ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1077 of file htmlwindow.c.

1078{
1080
1081 TRACE("(%p)->(%p)\n", This, p);
1082
1084}
@ EVENTID_LOAD
Definition: htmlevent.h:39

◆ HTMLWindow2_get_onresize()

static HRESULT WINAPI HTMLWindow2_get_onresize ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1163 of file htmlwindow.c.

1164{
1166
1167 TRACE("(%p)->(%p)\n", This, p);
1168
1170}
@ EVENTID_RESIZE
Definition: htmlevent.h:48

◆ HTMLWindow2_get_onscroll()

static HRESULT WINAPI HTMLWindow2_get_onscroll ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1181 of file htmlwindow.c.

1182{
1184
1185 TRACE("(%p)->(%p)\n", This, p);
1186
1188}
@ EVENTID_SCROLL
Definition: htmlevent.h:49

◆ HTMLWindow2_get_onunload()

static HRESULT WINAPI HTMLWindow2_get_onunload ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 1111 of file htmlwindow.c.

1112{
1114 FIXME("(%p)->(%p)\n", This, p);
1115 return E_NOTIMPL;
1116}

◆ HTMLWindow2_get_opener()

static HRESULT WINAPI HTMLWindow2_get_opener ( IHTMLWindow2 iface,
VARIANT p 
)
static

Definition at line 851 of file htmlwindow.c.

852{
854
855 FIXME("(%p)->(%p) returning empty\n", This, p);
856
857 V_VT(p) = VT_EMPTY;
858 return S_OK;
859}

◆ HTMLWindow2_get_Option()

static HRESULT WINAPI HTMLWindow2_get_Option ( IHTMLWindow2 iface,
IHTMLOptionElementFactory **  p 
)
static

Definition at line 1263 of file htmlwindow.c.

1264{
1266 HTMLInnerWindow *window = This->inner_window;
1267
1268 TRACE("(%p)->(%p)\n", This, p);
1269
1270 if(!window->option_factory) {
1271 HRESULT hres;
1272
1274 if(FAILED(hres))
1275 return hres;
1276 }
1277
1278 *p = &window->option_factory->IHTMLOptionElementFactory_iface;
1279 IHTMLOptionElementFactory_AddRef(*p);
1280
1281 return S_OK;
1282}
HRESULT HTMLOptionElementFactory_Create(HTMLInnerWindow *window, HTMLOptionElementFactory **ret_ptr)
Definition: htmloption.c:618

◆ HTMLWindow2_get_parent()

static HRESULT WINAPI HTMLWindow2_get_parent ( IHTMLWindow2 iface,
IHTMLWindow2 **  p 
)
static

Definition at line 901 of file htmlwindow.c.

902{
904 HTMLOuterWindow *window = This->outer_window;
905
906 TRACE("(%p)->(%p)\n", This, p);
907
908 if(!window->parent)
909 return IHTMLWindow2_get_self(&This->IHTMLWindow2_iface, p);
910
911 *p = &window->parent->base.IHTMLWindow2_iface;
912 IHTMLWindow2_AddRef(*p);
913 return S_OK;
914}

◆ HTMLWindow2_get_screen()

static HRESULT WINAPI HTMLWindow2_get_screen ( IHTMLWindow2 iface,
IHTMLScreen **  p 
)
static

Definition at line 1243 of file htmlwindow.c.

1244{
1246 HTMLInnerWindow *window = This->inner_window;
1247
1248 TRACE("(%p)->(%p)\n", This, p);
1249
1250 if(!window->screen) {
1251 HRESULT hres;
1252
1253 hres = HTMLScreen_Create(&window->screen);
1254 if(FAILED(hres))
1255 return hres;
1256 }
1257
1258 *p = window->screen;
1259 IHTMLScreen_AddRef(window->screen);
1260 return S_OK;
1261}
HRESULT HTMLScreen_Create(IHTMLScreen **ret)
Definition: htmlscreen.c:234

◆ HTMLWindow2_get_self()

static HRESULT WINAPI HTMLWindow2_get_self ( IHTMLWindow2 iface,
IHTMLWindow2 **  p 
)
static

Definition at line 985 of file htmlwindow.c.

986{
988
989 TRACE("(%p)->(%p)\n", This, p);
990
991 /* FIXME: We should return kind of proxy window here. */
992 IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
993 *p = &This->IHTMLWindow2_iface;
994 return S_OK;
995}

◆ HTMLWindow2_get_status()

static HRESULT WINAPI HTMLWindow2_get_status ( IHTMLWindow2 iface,
BSTR p 
)
static

Definition at line 532 of file htmlwindow.c.

533{
535
536 TRACE("(%p)->(%p)\n", This, p);
537
538 /* See put_status */
539 *p = NULL;
540 return S_OK;
541}

◆ HTMLWindow2_get_top()

static HRESULT WINAPI HTMLWindow2_get_top ( IHTMLWindow2 iface,
IHTMLWindow2 **  p 
)
static

Definition at line 997 of file htmlwindow.c.

998{
1001
1002 TRACE("(%p)->(%p)\n", This, p);
1003
1004 get_top_window(This->outer_window, &top);
1005 *p = &top->base.IHTMLWindow2_iface;
1006 IHTMLWindow2_AddRef(*p);
1007
1008 return S_OK;
1009}
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
void get_top_window(HTMLOuterWindow *window, HTMLOuterWindow **ret)
Definition: htmlwindow.c:59

◆ HTMLWindow2_get_window()

static HRESULT WINAPI HTMLWindow2_get_window ( IHTMLWindow2 iface,
IHTMLWindow2 **  p 
)
static

Definition at line 1011 of file htmlwindow.c.

1012{
1014
1015 TRACE("(%p)->(%p)\n", This, p);
1016
1017 /* FIXME: We should return kind of proxy window here. */
1018 IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
1019 *p = &This->IHTMLWindow2_iface;
1020 return S_OK;
1021}

◆ HTMLWindow2_GetIDsOfNames()

static HRESULT WINAPI HTMLWindow2_GetIDsOfNames ( IHTMLWindow2 iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 289 of file htmlwindow.c.

292{
294
295 return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
296 rgDispId);
297}

◆ HTMLWindow2_GetTypeInfo()

static HRESULT WINAPI HTMLWindow2_GetTypeInfo ( IHTMLWindow2 iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 281 of file htmlwindow.c.

283{
285
286 return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
287}

◆ HTMLWindow2_GetTypeInfoCount()

static HRESULT WINAPI HTMLWindow2_GetTypeInfoCount ( IHTMLWindow2 iface,
UINT pctinfo 
)
static

Definition at line 274 of file htmlwindow.c.

275{
277
278 return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
279}

◆ HTMLWindow2_Invoke()

static HRESULT WINAPI HTMLWindow2_Invoke ( IHTMLWindow2 iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 299 of file htmlwindow.c.

302{
304
305 return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
306 pDispParams, pVarResult, pExcepInfo, puArgErr);
307}
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531

◆ HTMLWindow2_item()

static HRESULT WINAPI HTMLWindow2_item ( IHTMLWindow2 iface,
VARIANT pvarIndex,
VARIANT pvarResult 
)
static

Definition at line 423 of file htmlwindow.c.

424{
428
429 TRACE("(%p)->(%p %p)\n", This, pvarIndex, pvarResult);
430
431 switch(V_VT(pvarIndex)) {
432 case VT_I4: {
433 int index = V_I4(pvarIndex);
434 TRACE("Getting index %d\n", index);
435 if(index < 0)
437 hres = get_frame_by_index(This->outer_window, index, &window);
438 break;
439 }
440 case VT_UINT: {
441 unsigned int index = V_UINT(pvarIndex);
442 TRACE("Getting index %u\n", index);
443 hres = get_frame_by_index(This->outer_window, index, &window);
444 break;
445 }
446 case VT_BSTR: {
447 BSTR str = V_BSTR(pvarIndex);
448 TRACE("Getting name %s\n", wine_dbgstr_w(str));
449 hres = get_frame_by_name(This->outer_window, str, FALSE, &window);
450 break;
451 }
452 default:
453 WARN("Invalid index %s\n", debugstr_variant(pvarIndex));
454 return E_INVALIDARG;
455 }
456
457 if(FAILED(hres))
458 return hres;
459 if(!window)
461
462 IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface);
463 V_VT(pvarResult) = VT_DISPATCH;
464 V_DISPATCH(pvarResult) = (IDispatch*)window;
465 return S_OK;
466}
@ VT_I4
Definition: compat.h:2298
@ VT_UINT
Definition: compat.h:2317
@ VT_DISPATCH
Definition: compat.h:2304
static HRESULT get_frame_by_index(HTMLOuterWindow *This, UINT32 index, HTMLOuterWindow **ret)
Definition: htmlwindow.c:309
#define wine_dbgstr_w
Definition: kernel32.h:34
#define V_I4(A)
Definition: oleauto.h:247
#define V_UINT(A)
Definition: oleauto.h:264
#define V_DISPATCH(A)
Definition: oleauto.h:239
const WCHAR * str

◆ HTMLWindow2_moveBy()

static HRESULT WINAPI HTMLWindow2_moveBy ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1428 of file htmlwindow.c.

1429{
1431 FIXME("(%p)->(%d %d)\n", This, x, y);
1432 return E_NOTIMPL;
1433}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548

◆ HTMLWindow2_moveTo()

static HRESULT WINAPI HTMLWindow2_moveTo ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1421 of file htmlwindow.c.

1422{
1424 FIXME("(%p)->(%d %d)\n", This, x, y);
1425 return E_NOTIMPL;
1426}

◆ HTMLWindow2_navigate()

static HRESULT WINAPI HTMLWindow2_navigate ( IHTMLWindow2 iface,
BSTR  url 
)
static

Definition at line 1023 of file htmlwindow.c.

1024{
1026
1027 TRACE("(%p)->(%s)\n", This, debugstr_w(url));
1028
1029 return navigate_url(This->outer_window, url, This->outer_window->uri, BINDING_NAVIGATED);
1030}
static HRESULT navigate_url(HHInfo *info, LPCWSTR surl)
Definition: help.c:193

◆ HTMLWindow2_open()

static HRESULT WINAPI HTMLWindow2_open ( IHTMLWindow2 iface,
BSTR  url,
BSTR  name,
BSTR  features,
VARIANT_BOOL  replace,
IHTMLWindow2 **  pomWindowResult 
)
static

Definition at line 916 of file htmlwindow.c.

918{
920 HTMLOuterWindow *window = This->outer_window;
921 INewWindowManager *new_window_mgr;
922 BSTR uri_str;
923 IUri *uri;
925
926 static const WCHAR _selfW[] = {'_','s','e','l','f',0};
927
928 TRACE("(%p)->(%s %s %s %x %p)\n", This, debugstr_w(url), debugstr_w(name),
929 debugstr_w(features), replace, pomWindowResult);
930
931 if(!window->doc_obj || !window->uri_nofrag)
932 return E_UNEXPECTED;
933
934 if(name && *name == '_') {
935 if(!strcmpW(name, _selfW)) {
936 if((features && *features) || replace)
937 FIXME("Unsupported arguments for _self target\n");
938
939 hres = IHTMLWindow2_navigate(&This->IHTMLWindow2_iface, url);
940 if(FAILED(hres))
941 return hres;
942
943 if(pomWindowResult) {
944 FIXME("Returning this window for _self target\n");
945 *pomWindowResult = &This->IHTMLWindow2_iface;
946 IHTMLWindow2_AddRef(*pomWindowResult);
947 }
948
949 return S_OK;
950 }
951
952 FIXME("Unsupported name %s\n", debugstr_w(name));
953 return E_NOTIMPL;
954 }
955
956 hres = do_query_service((IUnknown*)window->doc_obj->client, &SID_SNewWindowManager, &IID_INewWindowManager,
957 (void**)&new_window_mgr);
958 if(FAILED(hres)) {
959 FIXME("No INewWindowManager\n");
960 return E_NOTIMPL;
961 }
962
963 hres = IUri_GetDisplayUri(window->uri_nofrag, &uri_str);
964 if(SUCCEEDED(hres)) {
965 hres = INewWindowManager_EvaluateNewWindow(new_window_mgr, url, name, uri_str,
966 features, !!replace, window->doc_obj->has_popup ? 0 : NWMF_FIRST, 0);
967 window->doc_obj->has_popup = TRUE;
968 SysFreeString(uri_str);
969 }
970 INewWindowManager_Release(new_window_mgr);
971 if(FAILED(hres)) {
972 *pomWindowResult = NULL;
973 return S_OK;
974 }
975
977 if(FAILED(hres))
978 return hres;
979
980 hres = navigate_new_window(window, uri, name, NULL, pomWindowResult);
981 IUri_Release(uri);
982 return hres;
983}
HRESULT create_relative_uri(HTMLOuterWindow *, const WCHAR *, IUri **) DECLSPEC_HIDDEN
Definition: persist.c:163
HRESULT navigate_new_window(HTMLOuterWindow *, IUri *, const WCHAR *, request_data_t *, IHTMLWindow2 **) DECLSPEC_HIDDEN
Definition: navigate.c:2132
HRESULT do_query_service(IUnknown *unk, REFGUID guid_service, REFIID riid, void **ppv)
Definition: main.c:148
#define strcmpW(s1, s2)
Definition: unicode.h:44
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
Definition: replace.c:38
#define E_UNEXPECTED
Definition: winerror.h:2456

◆ HTMLWindow2_prompt()

static HRESULT WINAPI HTMLWindow2_prompt ( IHTMLWindow2 iface,
BSTR  message,
BSTR  dststr,
VARIANT textdata 
)
static

Definition at line 692 of file htmlwindow.c.

694{
697
698 TRACE("(%p)->(%s %s %p)\n", This, debugstr_w(message), debugstr_w(dststr), textdata);
699
700 if(textdata) V_VT(textdata) = VT_NULL;
701
702 arg.message = message;
703 arg.dststr = dststr;
704 arg.textdata = textdata;
705
707 This->outer_window->doc_obj->hwnd, prompt_dlgproc, (LPARAM)&arg);
708 return S_OK;
709}
@ VT_NULL
Definition: compat.h:2296
#define ID_PROMPT_DIALOG
Definition: resource.h:28
HINSTANCE hInst
Definition: dxdiag.c:13
static INT_PTR CALLBACK prompt_dlgproc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
Definition: htmlwindow.c:629
LONG_PTR LPARAM
Definition: windef.h:208
void * arg
Definition: msvc.h:10
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)

◆ HTMLWindow2_put_defaultStatus()

static HRESULT WINAPI HTMLWindow2_put_defaultStatus ( IHTMLWindow2 iface,
BSTR  v 
)
static

Definition at line 505 of file htmlwindow.c.

506{
508 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
509 return E_NOTIMPL;
510}
const GLdouble * v
Definition: gl.h:2040

◆ HTMLWindow2_put_name()

static HRESULT WINAPI HTMLWindow2_put_name ( IHTMLWindow2 iface,
BSTR  v 
)
static

Definition at line 871 of file htmlwindow.c.

872{
874 nsAString name_str;
875 nsresult nsres;
876
877 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
878
879 nsAString_InitDepend(&name_str, v);
880 nsres = nsIDOMWindow_SetName(This->outer_window->nswindow, &name_str);
881 nsAString_Finish(&name_str);
882 if(NS_FAILED(nsres))
883 ERR("SetName failed: %08x\n", nsres);
884
885 return S_OK;
886}

◆ HTMLWindow2_put_offscreenBuffering()

static HRESULT WINAPI HTMLWindow2_put_offscreenBuffering ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1354 of file htmlwindow.c.

1355{
1357 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
1358 return E_NOTIMPL;
1359}

◆ HTMLWindow2_put_onbeforeunload()

static HRESULT WINAPI HTMLWindow2_put_onbeforeunload ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1086 of file htmlwindow.c.

1087{
1089
1090 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1091
1093}
static HRESULT set_window_event(HTMLWindow *window, eventid_t eid, VARIANT *var)
Definition: htmlwindow.c:67

◆ HTMLWindow2_put_onblur()

static HRESULT WINAPI HTMLWindow2_put_onblur ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1050 of file htmlwindow.c.

1051{
1053
1054 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1055
1057}

◆ HTMLWindow2_put_onerror()

static HRESULT WINAPI HTMLWindow2_put_onerror ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1136 of file htmlwindow.c.

1137{
1139
1140 FIXME("(%p)->(%s) semi-stub\n", This, debugstr_variant(&v));
1141
1143}

◆ HTMLWindow2_put_onfocus()

static HRESULT WINAPI HTMLWindow2_put_onfocus ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1032 of file htmlwindow.c.

1033{
1035
1036 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1037
1039}

◆ HTMLWindow2_put_onhelp()

static HRESULT WINAPI HTMLWindow2_put_onhelp ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1118 of file htmlwindow.c.

1119{
1121
1122 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1123
1125}

◆ HTMLWindow2_put_onload()

static HRESULT WINAPI HTMLWindow2_put_onload ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1068 of file htmlwindow.c.

1069{
1071
1072 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1073
1075}

◆ HTMLWindow2_put_onresize()

static HRESULT WINAPI HTMLWindow2_put_onresize ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1154 of file htmlwindow.c.

1155{
1157
1158 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1159
1161}

◆ HTMLWindow2_put_onscroll()

static HRESULT WINAPI HTMLWindow2_put_onscroll ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1172 of file htmlwindow.c.

1173{
1175
1176 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1177
1179}

◆ HTMLWindow2_put_onunload()

static HRESULT WINAPI HTMLWindow2_put_onunload ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 1104 of file htmlwindow.c.

1105{
1107 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
1108 return E_NOTIMPL;
1109}

◆ HTMLWindow2_put_opener()

static HRESULT WINAPI HTMLWindow2_put_opener ( IHTMLWindow2 iface,
VARIANT  v 
)
static

Definition at line 844 of file htmlwindow.c.

845{
847 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
848 return E_NOTIMPL;
849}

◆ HTMLWindow2_put_status()

static HRESULT WINAPI HTMLWindow2_put_status ( IHTMLWindow2 iface,
BSTR  v 
)
static

Definition at line 519 of file htmlwindow.c.

520{
522
523 WARN("(%p)->(%s)\n", This, debugstr_w(v));
524
525 /*
526 * FIXME: Since IE7, setting status is blocked, but still possible in certain circumstances.
527 * Ignoring the call should be enough for us.
528 */
529 return S_OK;
530}

◆ HTMLWindow2_QueryInterface()

static HRESULT WINAPI HTMLWindow2_QueryInterface ( IHTMLWindow2 iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 116 of file htmlwindow.c.

117{
119
120 TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv);
121
123 *ppv = &This->IHTMLWindow2_iface;
124 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
125 *ppv = &This->IHTMLWindow2_iface;
126 }else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
127 *ppv = &This->IDispatchEx_iface;
128 }else if(IsEqualGUID(&IID_IHTMLFramesCollection2, riid)) {
129 *ppv = &This->IHTMLWindow2_iface;
130 }else if(IsEqualGUID(&IID_IHTMLWindow2, riid)) {
131 *ppv = &This->IHTMLWindow2_iface;
132 }else if(IsEqualGUID(&IID_IHTMLWindow3, riid)) {
133 *ppv = &This->IHTMLWindow3_iface;
134 }else if(IsEqualGUID(&IID_IHTMLWindow4, riid)) {
135 *ppv = &This->IHTMLWindow4_iface;
136 }else if(IsEqualGUID(&IID_IHTMLWindow5, riid)) {
137 *ppv = &This->IHTMLWindow5_iface;
138 }else if(IsEqualGUID(&IID_IHTMLWindow6, riid)) {
139 *ppv = &This->IHTMLWindow6_iface;
140 }else if(IsEqualGUID(&IID_IHTMLPrivateWindow, riid)) {
141 *ppv = &This->IHTMLPrivateWindow_iface;
142 }else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
143 *ppv = &This->IServiceProvider_iface;
144 }else if(IsEqualGUID(&IID_ITravelLogClient, riid)) {
145 *ppv = &This->ITravelLogClient_iface;
146 }else if(IsEqualGUID(&IID_IObjectIdentity, riid)) {
147 *ppv = &This->IObjectIdentity_iface;
148 }else if(dispex_query_interface(&This->inner_window->event_target.dispex, riid, ppv)) {
149 assert(!*ppv);
150 return E_NOINTERFACE;
151 }else {
152 *ppv = NULL;
153 WARN("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv);
154 return E_NOINTERFACE;
155 }
156
157 IUnknown_AddRef((IUnknown*)*ppv);
158 return S_OK;
159}
const GUID IID_IUnknown
const char * debugstr_mshtml_guid(const GUID *iid)
Definition: main.c:542
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
Definition: dispex.c:1656
const GUID IID_IDispatch
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ HTMLWindow2_Release()

static ULONG WINAPI HTMLWindow2_Release ( IHTMLWindow2 iface)
static

Definition at line 257 of file htmlwindow.c.

258{
261
262 TRACE("(%p) ref=%d\n", This, ref);
263
264 if(!ref) {
266 release_outer_window(This->outer_window);
267 else
268 release_inner_window(This->inner_window);
269 }
270
271 return ref;
272}
#define InterlockedDecrement
Definition: armddk.h:52
static BOOL is_outer_window(HTMLWindow *window)
Definition: htmlwindow.c:25
static void release_outer_window(HTMLOuterWindow *This)
Definition: htmlwindow.c:171
static void release_inner_window(HTMLInnerWindow *This)
Definition: htmlwindow.c:201

◆ HTMLWindow2_resizeBy()

static HRESULT WINAPI HTMLWindow2_resizeBy ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1442 of file htmlwindow.c.

1443{
1445 FIXME("(%p)->(%d %d)\n", This, x, y);
1446 return E_NOTIMPL;
1447}

◆ HTMLWindow2_resizeTo()

static HRESULT WINAPI HTMLWindow2_resizeTo ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1435 of file htmlwindow.c.

1436{
1438 FIXME("(%p)->(%d %d)\n", This, x, y);
1439 return E_NOTIMPL;
1440}

◆ HTMLWindow2_scroll()

static HRESULT WINAPI HTMLWindow2_scroll ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1309 of file htmlwindow.c.

1310{
1312 nsresult nsres;
1313
1314 TRACE("(%p)->(%d %d)\n", This, x, y);
1315
1316 nsres = nsIDOMWindow_Scroll(This->outer_window->nswindow, x, y);
1317 if(NS_FAILED(nsres)) {
1318 ERR("ScrollBy failed: %08x\n", nsres);
1319 return E_FAIL;
1320 }
1321
1322 return S_OK;
1323}

◆ HTMLWindow2_scrollBy()

static HRESULT WINAPI HTMLWindow2_scrollBy ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1393 of file htmlwindow.c.

1394{
1396 nsresult nsres;
1397
1398 TRACE("(%p)->(%d %d)\n", This, x, y);
1399
1400 nsres = nsIDOMWindow_ScrollBy(This->outer_window->nswindow, x, y);
1401 if(NS_FAILED(nsres))
1402 ERR("ScrollBy failed: %08x\n", nsres);
1403
1404 return S_OK;
1405}

◆ HTMLWindow2_scrollTo()

static HRESULT WINAPI HTMLWindow2_scrollTo ( IHTMLWindow2 iface,
LONG  x,
LONG  y 
)
static

Definition at line 1407 of file htmlwindow.c.

1408{
1410 nsresult nsres;
1411
1412 TRACE("(%p)->(%d %d)\n", This, x, y);
1413
1414 nsres = nsIDOMWindow_ScrollTo(This->outer_window->nswindow, x, y);
1415 if(NS_FAILED(nsres))
1416 ERR("ScrollTo failed: %08x\n", nsres);
1417
1418 return S_OK;
1419}

◆ HTMLWindow2_setInterval()

static HRESULT WINAPI HTMLWindow2_setInterval ( IHTMLWindow2 iface,
BSTR  expression,
LONG  msec,
VARIANT language,
LONG timerID 
)
static

Definition at line 1332 of file htmlwindow.c.

1334{
1336 VARIANT expr;
1337
1338 TRACE("(%p)->(%s %d %p %p)\n", This, debugstr_w(expression), msec, language, timerID);
1339
1340 V_VT(&expr) = VT_BSTR;
1341 V_BSTR(&expr) = expression;
1342 return IHTMLWindow3_setInterval(&This->IHTMLWindow3_iface, &expr, msec, language, timerID);
1343}
Definition: query.h:86

◆ HTMLWindow2_setTimeout()

static HRESULT WINAPI HTMLWindow2_setTimeout ( IHTMLWindow2 iface,
BSTR  expression,
LONG  msec,
VARIANT language,
LONG timerID 
)
static

Definition at line 543 of file htmlwindow.c.

545{
547 VARIANT expr_var;
548
549 TRACE("(%p)->(%s %d %p %p)\n", This, debugstr_w(expression), msec, language, timerID);
550
551 V_VT(&expr_var) = VT_BSTR;
552 V_BSTR(&expr_var) = expression;
553
554 return IHTMLWindow3_setTimeout(&This->IHTMLWindow3_iface, &expr_var, msec, language, timerID);
555}

◆ HTMLWindow2_showHelp()

static HRESULT WINAPI HTMLWindow2_showHelp ( IHTMLWindow2 iface,
BSTR  helpURL,
VARIANT  helpArg,
BSTR  features 
)
static

Definition at line 1235 of file htmlwindow.c.

1237{
1239 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(helpURL), debugstr_variant(&helpArg), debugstr_w(features));
1240 return E_NOTIMPL;
1241}

◆ HTMLWindow2_showModalDialog()

static HRESULT WINAPI HTMLWindow2_showModalDialog ( IHTMLWindow2 iface,
BSTR  dialog,
VARIANT varArgIn,
VARIANT varOptions,
VARIANT varArgOut 
)
static

Definition at line 1227 of file htmlwindow.c.

1229{
1231 FIXME("(%p)->(%s %p %p %p)\n", This, debugstr_w(dialog), varArgIn, varOptions, varArgOut);
1232 return E_NOTIMPL;
1233}
static HWND dialog
Definition: gui.c:33

◆ HTMLWindow2_toString()

static HRESULT WINAPI HTMLWindow2_toString ( IHTMLWindow2 iface,
BSTR String 
)
static

Definition at line 1378 of file htmlwindow.c.

1379{
1381
1382 static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
1383
1384 TRACE("(%p)->(%p)\n", This, String);
1385
1386 if(!String)
1387 return E_INVALIDARG;
1388
1390 return *String ? S_OK : E_OUTOFMEMORY;
1391}
static const WCHAR objectW[]
Definition: engine.c:37
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433

◆ HTMLWindow3_AddRef()

static ULONG WINAPI HTMLWindow3_AddRef ( IHTMLWindow3 *  iface)
static

Definition at line 1555 of file htmlwindow.c.

1556{
1558
1559 return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
1560}
static HTMLWindow * impl_from_IHTMLWindow3(IHTMLWindow3 *iface)
Definition: htmlwindow.c:1543

◆ HTMLWindow3_attachEvent()

static HRESULT WINAPI HTMLWindow3_attachEvent ( IHTMLWindow3 *  iface,
BSTR  event,
IDispatch pDisp,
VARIANT_BOOL pfResult 
)
static

Definition at line 1636 of file htmlwindow.c.

1637{
1639 HTMLInnerWindow *window = This->inner_window;
1640
1641 TRACE("(%p)->(%s %p %p)\n", This, debugstr_w(event), pDisp, pfResult);
1642
1643 if(!window->doc) {
1644 FIXME("No document\n");
1645 return E_FAIL;
1646 }
1647
1648 return attach_event(&window->event_target, event, pDisp, pfResult);
1649}
struct _cl_event * event
Definition: glext.h:7739
HRESULT attach_event(EventTarget *event_target, BSTR name, IDispatch *disp, VARIANT_BOOL *res)
Definition: htmlevent.c:1469

◆ HTMLWindow3_detachEvent()

static HRESULT WINAPI HTMLWindow3_detachEvent ( IHTMLWindow3 *  iface,
BSTR  event,
IDispatch pDisp 
)
static

Definition at line 1651 of file htmlwindow.c.

1652{
1654 HTMLInnerWindow *window = This->inner_window;
1655
1656 TRACE("(%p)->()\n", This);
1657
1658 if(!window->doc) {
1659 FIXME("No document\n");
1660 return E_FAIL;
1661 }
1662
1663 return detach_event(&window->event_target, event, pDisp);
1664}
HRESULT detach_event(EventTarget *event_target, BSTR name, IDispatch *disp)
Definition: htmlevent.c:1504

◆ HTMLWindow3_get_clipboardData()

static HRESULT WINAPI HTMLWindow3_get_clipboardData ( IHTMLWindow3 *  iface,
IHTMLDataTransfer **  p 
)
static

Definition at line 1751 of file htmlwindow.c.

1752{
1754 FIXME("(%p)->(%p)\n", This, p);
1755 return E_NOTIMPL;
1756}

◆ HTMLWindow3_get_onafterprint()

static HRESULT WINAPI HTMLWindow3_get_onafterprint ( IHTMLWindow3 *  iface,
VARIANT p 
)
static

Definition at line 1744 of file htmlwindow.c.

1745{
1747 FIXME("(%p)->(%p)\n", This, p);
1748 return E_NOTIMPL;
1749}

◆ HTMLWindow3_get_onbeforeprint()

static HRESULT WINAPI HTMLWindow3_get_onbeforeprint ( IHTMLWindow3 *  iface,
VARIANT p 
)
static

Definition at line 1730 of file htmlwindow.c.

1731{
1733 FIXME("(%p)->(%p)\n", This, p);
1734 return E_NOTIMPL;
1735}

◆ HTMLWindow3_get_screenLeft()

static HRESULT WINAPI HTMLWindow3_get_screenLeft ( IHTMLWindow3 *  iface,
LONG p 
)
static

Definition at line 1604 of file htmlwindow.c.

1605{
1607 nsresult nsres;
1608
1609 TRACE("(%p)->(%p)\n", This, p);
1610
1611 nsres = nsIDOMWindow_GetScreenX(This->outer_window->nswindow, p);
1612 if(NS_FAILED(nsres)) {
1613 ERR("GetScreenX failed: %08x\n", nsres);
1614 return E_FAIL;
1615 }
1616
1617 return S_OK;
1618}

◆ HTMLWindow3_get_screenTop()

static HRESULT WINAPI HTMLWindow3_get_screenTop ( IHTMLWindow3 *  iface,
LONG p 
)
static

Definition at line 1620 of file htmlwindow.c.

1621{
1623 nsresult nsres;
1624
1625 TRACE("(%p)->(%p)\n", This, p);
1626
1627 nsres = nsIDOMWindow_GetScreenY(This->outer_window->nswindow, p);
1628 if(NS_FAILED(nsres)) {
1629 ERR("GetScreenY failed: %08x\n", nsres);
1630 return E_FAIL;
1631 }
1632
1633 return S_OK;
1634}

◆ HTMLWindow3_GetIDsOfNames()

static HRESULT WINAPI HTMLWindow3_GetIDsOfNames ( IHTMLWindow3 *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 1584 of file htmlwindow.c.

1587{
1589
1590 return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
1591 rgDispId);
1592}

◆ HTMLWindow3_GetTypeInfo()

static HRESULT WINAPI HTMLWindow3_GetTypeInfo ( IHTMLWindow3 *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 1576 of file htmlwindow.c.

1578{
1580
1581 return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
1582}

◆ HTMLWindow3_GetTypeInfoCount()

static HRESULT WINAPI HTMLWindow3_GetTypeInfoCount ( IHTMLWindow3 *  iface,
UINT pctinfo 
)
static

Definition at line 1569 of file htmlwindow.c.

1570{
1572
1573 return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
1574}

◆ HTMLWindow3_Invoke()

static HRESULT WINAPI HTMLWindow3_Invoke ( IHTMLWindow3 *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 1594 of file htmlwindow.c.

1597{
1599
1600 return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
1601 pDispParams, pVarResult, pExcepInfo, puArgErr);
1602}

◆ HTMLWindow3_print()

static HRESULT WINAPI HTMLWindow3_print ( IHTMLWindow3 *  iface)
static

Definition at line 1716 of file htmlwindow.c.

1717{
1719 FIXME("(%p)\n", This);
1720 return E_NOTIMPL;
1721}

◆ HTMLWindow3_put_onafterprint()

static HRESULT WINAPI HTMLWindow3_put_onafterprint ( IHTMLWindow3 *  iface,
VARIANT  v 
)
static

Definition at line 1737 of file htmlwindow.c.

1738{
1740 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
1741 return E_NOTIMPL;
1742}

◆ HTMLWindow3_put_onbeforeprint()

static HRESULT WINAPI HTMLWindow3_put_onbeforeprint ( IHTMLWindow3 *  iface,
VARIANT  v 
)
static

Definition at line 1723 of file htmlwindow.c.

1724{
1726 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
1727 return E_NOTIMPL;
1728}

◆ HTMLWindow3_QueryInterface()

static HRESULT WINAPI HTMLWindow3_QueryInterface ( IHTMLWindow3 *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1548 of file htmlwindow.c.

1549{
1551
1552 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
1553}

◆ HTMLWindow3_Release()

static ULONG WINAPI HTMLWindow3_Release ( IHTMLWindow3 *  iface)
static

Definition at line 1562 of file htmlwindow.c.

1563{
1565
1566 return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
1567}

◆ HTMLWindow3_setInterval()

static HRESULT WINAPI HTMLWindow3_setInterval ( IHTMLWindow3 *  iface,
VARIANT expression,
LONG  msec,
VARIANT language,
LONG timerID 
)
static

Definition at line 1706 of file htmlwindow.c.

1708{
1710
1711 TRACE("(%p)->(%p %d %p %p)\n", This, expression, msec, language, timerID);
1712
1713 return window_set_timer(This->inner_window, expression, msec, language, TRUE, timerID);
1714}
static HRESULT window_set_timer(HTMLInnerWindow *This, VARIANT *expr, LONG msec, VARIANT *language, BOOL interval, LONG *timer_id)
Definition: htmlwindow.c:1666

◆ HTMLWindow3_setTimeout()

static HRESULT WINAPI HTMLWindow3_setTimeout ( IHTMLWindow3 *  iface,
VARIANT expression,
LONG  msec,
VARIANT language,
LONG timerID 
)
static

Definition at line 1696 of file htmlwindow.c.

1698{
1700
1701 TRACE("(%p)->(%s %d %s %p)\n", This, debugstr_variant(expression), msec, debugstr_variant(language), timerID);
1702
1703 return window_set_timer(This->inner_window, expression, msec, language, FALSE, timerID);
1704}

◆ HTMLWindow3_showModelessDialog()

static HRESULT WINAPI HTMLWindow3_showModelessDialog ( IHTMLWindow3 *  iface,
BSTR  url,
VARIANT varArgIn,
VARIANT options,
IHTMLWindow2 **  pDialog 
)
static

Definition at line 1758 of file htmlwindow.c.

1760{
1762 FIXME("(%p)->(%s %p %p %p)\n", This, debugstr_w(url), varArgIn, options, pDialog);
1763 return E_NOTIMPL;
1764}

◆ HTMLWindow4_AddRef()

static ULONG WINAPI HTMLWindow4_AddRef ( IHTMLWindow4 *  iface)
static

Definition at line 1801 of file htmlwindow.c.

1802{
1804
1805 return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
1806}
static HTMLWindow * impl_from_IHTMLWindow4(IHTMLWindow4 *iface)
Definition: htmlwindow.c:1789

◆ HTMLWindow4_createPopup()

static HRESULT WINAPI HTMLWindow4_createPopup ( IHTMLWindow4 *  iface,
VARIANT varArgIn,
IDispatch **  ppPopup 
)
static

Definition at line 1850 of file htmlwindow.c.

1852{
1854 FIXME("(%p)->(%p %p)\n", This, varArgIn, ppPopup);
1855 return E_NOTIMPL;
1856}

◆ HTMLWindow4_get_frameElement()

static HRESULT WINAPI HTMLWindow4_get_frameElement ( IHTMLWindow4 *  iface,
IHTMLFrameBase **  p 
)
static

Definition at line 1858 of file htmlwindow.c.

1859{
1861 TRACE("(%p)->(%p)\n", This, p);
1862
1863 if(This->outer_window->frame_element) {
1864 *p = &This->outer_window->frame_element->IHTMLFrameBase_iface;
1865 IHTMLFrameBase_AddRef(*p);
1866 }else
1867 *p = NULL;
1868
1869 return S_OK;
1870}

◆ HTMLWindow4_GetIDsOfNames()

static HRESULT WINAPI HTMLWindow4_GetIDsOfNames ( IHTMLWindow4 *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 1830 of file htmlwindow.c.

1833{
1835
1836 return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
1837 rgDispId);
1838}

◆ HTMLWindow4_GetTypeInfo()

static HRESULT WINAPI HTMLWindow4_GetTypeInfo ( IHTMLWindow4 *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 1822 of file htmlwindow.c.

1824{
1826
1827 return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
1828}

◆ HTMLWindow4_GetTypeInfoCount()

static HRESULT WINAPI HTMLWindow4_GetTypeInfoCount ( IHTMLWindow4 *  iface,
UINT pctinfo 
)
static

Definition at line 1815 of file htmlwindow.c.

1816{
1818
1819 return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
1820}

◆ HTMLWindow4_Invoke()

static HRESULT WINAPI HTMLWindow4_Invoke ( IHTMLWindow4 *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 1840 of file htmlwindow.c.

1843{
1845
1846 return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
1847 pDispParams, pVarResult, pExcepInfo, puArgErr);
1848}

◆ HTMLWindow4_QueryInterface()

static HRESULT WINAPI HTMLWindow4_QueryInterface ( IHTMLWindow4 *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1794 of file htmlwindow.c.

1795{
1797
1798 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
1799}

◆ HTMLWindow4_Release()

static ULONG WINAPI HTMLWindow4_Release ( IHTMLWindow4 *  iface)
static

Definition at line 1808 of file htmlwindow.c.

1809{
1811
1812 return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
1813}

◆ HTMLWindow5_AddRef()

static ULONG WINAPI HTMLWindow5_AddRef ( IHTMLWindow5 *  iface)
static

Definition at line 1896 of file htmlwindow.c.

1897{
1899
1900 return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
1901}
static HTMLWindow * impl_from_IHTMLWindow5(IHTMLWindow5 *iface)
Definition: htmlwindow.c:1884

◆ HTMLWindow5_get_XMLHttpRequest()

static HRESULT WINAPI HTMLWindow5_get_XMLHttpRequest ( IHTMLWindow5 *  iface,
VARIANT p 
)
static

Definition at line 1951 of file htmlwindow.c.

1952{
1954 HTMLInnerWindow *window = This->inner_window;
1955
1956 TRACE("(%p)->(%p)\n", This, p);
1957
1958 if(!window->xhr_factory) {
1959 HRESULT hres;
1960
1962 if(FAILED(hres)) {
1963 return hres;
1964 }
1965 }
1966
1967 V_VT(p) = VT_DISPATCH;
1968 V_DISPATCH(p) = (IDispatch*)&window->xhr_factory->IHTMLXMLHttpRequestFactory_iface;
1969 IDispatch_AddRef(V_DISPATCH(p));
1970
1971 return S_OK;
1972}
HRESULT HTMLXMLHttpRequestFactory_Create(HTMLInnerWindow *, HTMLXMLHttpRequestFactory **) DECLSPEC_HIDDEN

◆ HTMLWindow5_GetIDsOfNames()

static HRESULT WINAPI HTMLWindow5_GetIDsOfNames ( IHTMLWindow5 *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 1925 of file htmlwindow.c.

1927{
1929
1930 return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
1931 rgDispId);
1932}

◆ HTMLWindow5_GetTypeInfo()

static HRESULT WINAPI HTMLWindow5_GetTypeInfo ( IHTMLWindow5 *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 1917 of file htmlwindow.c.

1919{
1921
1922 return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
1923}

◆ HTMLWindow5_GetTypeInfoCount()

static HRESULT WINAPI HTMLWindow5_GetTypeInfoCount ( IHTMLWindow5 *  iface,
UINT pctinfo 
)
static

Definition at line 1910 of file htmlwindow.c.

1911{
1913
1914 return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
1915}

◆ HTMLWindow5_Invoke()

static HRESULT WINAPI HTMLWindow5_Invoke ( IHTMLWindow5 *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 1934 of file htmlwindow.c.

1937{
1939
1940 return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
1941 pDispParams, pVarResult, pExcepInfo, puArgErr);
1942}

◆ HTMLWindow5_put_XMLHttpRequest()

static HRESULT WINAPI HTMLWindow5_put_XMLHttpRequest ( IHTMLWindow5 *  iface,
VARIANT  v 
)
static

Definition at line 1944 of file htmlwindow.c.

1945{
1947 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
1948 return E_NOTIMPL;
1949}

◆ HTMLWindow5_QueryInterface()

static HRESULT WINAPI HTMLWindow5_QueryInterface ( IHTMLWindow5 *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1889 of file htmlwindow.c.

1890{
1892
1893 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
1894}

◆ HTMLWindow5_Release()

static ULONG WINAPI HTMLWindow5_Release ( IHTMLWindow5 *  iface)
static

Definition at line 1903 of file htmlwindow.c.

1904{
1906
1907 return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
1908}

◆ HTMLWindow6_AddRef()

static ULONG WINAPI HTMLWindow6_AddRef ( IHTMLWindow6 *  iface)
static

Definition at line 1998 of file htmlwindow.c.

1999{
2001
2002 return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
2003}
static HTMLWindow * impl_from_IHTMLWindow6(IHTMLWindow6 *iface)
Definition: htmlwindow.c:1986

◆ HTMLWindow6_get_localStorage()

static HRESULT WINAPI HTMLWindow6_get_localStorage ( IHTMLWindow6 *  iface,
IHTMLStorage **  p 
)
static

Definition at line 2080 of file htmlwindow.c.

2081{
2083 FIXME("(%p)->(%p)\n", This, p);
2084 return E_NOTIMPL;
2085}

◆ HTMLWindow6_get_maxConnectionsPerServer()

static HRESULT WINAPI HTMLWindow6_get_maxConnectionsPerServer ( IHTMLWindow6 *  iface,
LONG p 
)
static

Definition at line 2101 of file htmlwindow.c.

2102{
2104 FIXME("(%p)->(%p)\n", This, p);
2105 return E_NOTIMPL;
2106}

◆ HTMLWindow6_get_onhashchange()

static HRESULT WINAPI HTMLWindow6_get_onhashchange ( IHTMLWindow6 *  iface,
VARIANT p 
)
static

Definition at line 2094 of file htmlwindow.c.

2095{
2097 FIXME("(%p)->(%p)\n", This, p);
2098 return E_NOTIMPL;
2099}

◆ HTMLWindow6_get_onmessage()

static HRESULT WINAPI HTMLWindow6_get_onmessage ( IHTMLWindow6 *  iface,
VARIANT p 
)
static

Definition at line 2129 of file htmlwindow.c.

2130{
2132 FIXME("(%p)->(%p)\n", This, p);
2133 return E_NOTIMPL;
2134}

◆ HTMLWindow6_get_sessionStorage()

static HRESULT WINAPI HTMLWindow6_get_sessionStorage ( IHTMLWindow6 *  iface,
IHTMLStorage **  p 
)
static

Definition at line 2061 of file htmlwindow.c.

2062{
2064
2065 FIXME("(%p)->(%p)\n", This, p);
2066
2067 if(!This->inner_window->session_storage) {
2068 HRESULT hres;
2069
2070 hres = create_storage(&This->inner_window->session_storage);
2071 if(FAILED(hres))
2072 return hres;
2073 }
2074
2075 IHTMLStorage_AddRef(This->inner_window->session_storage);
2076 *p = This->inner_window->session_storage;
2077 return S_OK;
2078}
static HGLOBAL create_storage(void)
Definition: clipboard.c:1289

◆ HTMLWindow6_get_XDomainRequest()

static HRESULT WINAPI HTMLWindow6_get_XDomainRequest ( IHTMLWindow6 *  iface,
VARIANT p 
)
static

Definition at line 2054 of file htmlwindow.c.

2055{
2057 FIXME("(%p)->(%p)\n", This, p);
2058 return E_NOTIMPL;
2059}

◆ HTMLWindow6_GetIDsOfNames()

static HRESULT WINAPI HTMLWindow6_GetIDsOfNames ( IHTMLWindow6 *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 2027 of file htmlwindow.c.

2030{
2032
2033 return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
2034 rgDispId);
2035}

◆ HTMLWindow6_GetTypeInfo()

static HRESULT WINAPI HTMLWindow6_GetTypeInfo ( IHTMLWindow6 *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 2019 of file htmlwindow.c.

2021{
2023
2024 return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
2025}

◆ HTMLWindow6_GetTypeInfoCount()

static HRESULT WINAPI HTMLWindow6_GetTypeInfoCount ( IHTMLWindow6 *  iface,
UINT pctinfo 
)
static

Definition at line 2012 of file htmlwindow.c.

2013{
2015
2016 return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
2017}

◆ HTMLWindow6_Invoke()

static HRESULT WINAPI HTMLWindow6_Invoke ( IHTMLWindow6 *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 2037 of file htmlwindow.c.

2040{
2042
2043 return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
2044 pDispParams, pVarResult, pExcepInfo, puArgErr);
2045}

◆ HTMLWindow6_msWriteProfilerMark()

static HRESULT WINAPI HTMLWindow6_msWriteProfilerMark ( IHTMLWindow6 *  iface,
BSTR  bstrProfilerMark 
)
static

Definition at line 2136 of file htmlwindow.c.

2137{
2139 FIXME("(%p)->(%s)\n", This, debugstr_w(bstrProfilerMark));
2140 return E_NOTIMPL;
2141}

◆ HTMLWindow6_postMessage()

static HRESULT WINAPI HTMLWindow6_postMessage ( IHTMLWindow6 *  iface,
BSTR  msg,
VARIANT  targetOrigin 
)
static

Definition at line 2108 of file htmlwindow.c.

2109{
2111 FIXME("(%p)->(%s %s)\n", This, debugstr_w(msg), debugstr_variant(&targetOrigin));
2112 return E_NOTIMPL;
2113}

◆ HTMLWindow6_put_onhashchange()

static HRESULT WINAPI HTMLWindow6_put_onhashchange ( IHTMLWindow6 *  iface,
VARIANT  v 
)
static

Definition at line 2087 of file htmlwindow.c.

2088{
2090 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
2091 return E_NOTIMPL;
2092}

◆ HTMLWindow6_put_onmessage()

static HRESULT WINAPI HTMLWindow6_put_onmessage ( IHTMLWindow6 *  iface,
VARIANT  v 
)
static

Definition at line 2122 of file htmlwindow.c.

2123{
2125 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
2126 return E_NOTIMPL;
2127}

◆ HTMLWindow6_put_XDomainRequest()

static HRESULT WINAPI HTMLWindow6_put_XDomainRequest ( IHTMLWindow6 *  iface,
VARIANT  v 
)
static

Definition at line 2047 of file htmlwindow.c.

2048{
2050 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
2051 return E_NOTIMPL;
2052}

◆ HTMLWindow6_QueryInterface()

static HRESULT WINAPI HTMLWindow6_QueryInterface ( IHTMLWindow6 *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1991 of file htmlwindow.c.

1992{
1994
1995 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
1996}

◆ HTMLWindow6_Release()

static ULONG WINAPI HTMLWindow6_Release ( IHTMLWindow6 *  iface)
static

Definition at line 2005 of file htmlwindow.c.

2006{
2008
2009 return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
2010}

◆ HTMLWindow6_toStaticHTML()

static HRESULT WINAPI HTMLWindow6_toStaticHTML ( IHTMLWindow6 *  iface,
BSTR  bstrHTML,
BSTR pbstrStaticHTML 
)
static

Definition at line 2115 of file htmlwindow.c.

2116{
2118 FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrHTML), pbstrStaticHTML);
2119 return E_NOTIMPL;
2120}

◆ HTMLWindow_bind_event()

static void HTMLWindow_bind_event ( DispatchEx dispex,
int  eid 
)
static

Definition at line 2864 of file htmlwindow.c.

2865{
2867 This->doc->node.event_target.dispex.data->vtbl->bind_event(&This->doc->node.event_target.dispex, eid);
2868}
static HTMLInnerWindow * impl_from_DispatchEx(DispatchEx *iface)
Definition: htmlwindow.c:2748

◆ HTMLWindow_get_event_target_ptr()

static event_target_t ** HTMLWindow_get_event_target_ptr ( DispatchEx dispex)
static

Definition at line 2858 of file htmlwindow.c.

2859{
2861 return &This->doc->body_event_target;
2862}

◆ HTMLWindow_invoke()

static HRESULT HTMLWindow_invoke ( DispatchEx dispex,
DISPID  id,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT res,
EXCEPINFO *  ei,
IServiceProvider caller 
)
static

Definition at line 2753 of file htmlwindow.c.

2755{
2757 global_prop_t *prop;
2758 DWORD idx;
2759 HRESULT hres;
2760
2762 if(idx >= This->global_prop_cnt)
2763 return DISP_E_MEMBERNOTFOUND;
2764
2765 prop = This->global_props+idx;
2766
2767 switch(prop->type) {
2768 case GLOBAL_SCRIPTVAR: {
2769 IDispatchEx *iface;
2770 IDispatch *disp;
2771
2772 disp = get_script_disp(prop->script_host);
2773 if(!disp)
2774 return E_UNEXPECTED;
2775
2776 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&iface);
2777 if(SUCCEEDED(hres)) {
2778 TRACE("%s >>>\n", debugstr_w(prop->name));
2779 hres = IDispatchEx_InvokeEx(iface, prop->id, lcid, flags, params, res, ei, caller);
2780 if(hres == S_OK)
2781 TRACE("%s <<<\n", debugstr_w(prop->name));
2782 else
2783 WARN("%s <<< %08x\n", debugstr_w(prop->name), hres);
2784 IDispatchEx_Release(iface);
2785 }else {
2786 FIXME("No IDispatchEx\n");
2787 }
2788 IDispatch_Release(disp);
2789 break;
2790 }
2791 case GLOBAL_ELEMENTVAR:
2792 switch(flags) {
2794 case DISPATCH_PROPERTYGET: {
2795 IHTMLElement *elem;
2796
2797 hres = IHTMLDocument3_getElementById(&This->base.inner_window->doc->basedoc.IHTMLDocument3_iface,
2798 prop->name, &elem);
2799 if(FAILED(hres))
2800 return hres;
2801
2802 if(!elem)
2803 return DISP_E_MEMBERNOTFOUND;
2804
2805 V_VT(res) = VT_DISPATCH;
2807 return S_OK;
2808 }
2809 case DISPATCH_PROPERTYPUT: {
2810 DISPID dispex_id;
2811
2812 hres = dispex_get_dynid(&This->event_target.dispex, prop->name, &dispex_id);
2813 if(FAILED(hres))
2814 return hres;
2815
2816 prop->type = GLOBAL_DISPEXVAR;
2817 prop->id = dispex_id;
2818 return IDispatchEx_InvokeEx(&This->event_target.dispex.IDispatchEx_iface, dispex_id, 0, flags, params, res, ei, caller);
2819 }
2820 default:
2821 FIXME("Not supported flags: %x\n", flags);
2822 return E_NOTIMPL;
2823 }
2824 case GLOBAL_FRAMEVAR:
2825 if(!This->base.outer_window)
2826 return E_UNEXPECTED;
2827
2828 switch(flags) {
2829 case DISPATCH_PROPERTYGET: {
2830 HTMLOuterWindow *frame;
2831
2832 hres = get_frame_by_name(This->base.outer_window, prop->name, FALSE, &frame);
2833 if(FAILED(hres))
2834 return hres;
2835
2836 if(!frame)
2837 return DISP_E_MEMBERNOTFOUND;
2838
2839 V_VT(res) = VT_DISPATCH;
2841 IDispatch_AddRef(V_DISPATCH(res));
2842 return S_OK;
2843 }
2844 default:
2845 FIXME("Not supported flags: %x\n", flags);
2846 return E_NOTIMPL;
2847 }
2848 case GLOBAL_DISPEXVAR:
2849 return IDispatchEx_InvokeEx(&This->event_target.dispex.IDispatchEx_iface, prop->id, 0, flags, params, res, ei, caller);
2850 default:
2851 ERR("invalid type %d\n", prop->type);
2853 }
2854
2855 return hres;
2856}
unsigned int idx
Definition: utils.c:41
GLuint res
Definition: glext.h:9613
GLenum const GLfloat * params
Definition: glext.h:5645
IDispatch * get_script_disp(ScriptHost *) DECLSPEC_HIDDEN
Definition: script.c:1281
static size_t elem
Definition: string.c:68
static VARIANTARG static DISPID
Definition: ordinal.c:52
HRESULT dispex_get_dynid(DispatchEx *This, const WCHAR *name, DISPID *id)
Definition: dispex.c:568
#define MSHTML_DISPID_CUSTOM_MIN
@ GLOBAL_FRAMEVAR
@ GLOBAL_SCRIPTVAR
@ GLOBAL_DISPEXVAR
@ GLOBAL_ELEMENTVAR
#define DISPATCH_PROPERTYPUT
Definition: oleauto.h:1008
#define DISPATCH_METHOD
Definition: oleauto.h:1006
#define DISPATCH_PROPERTYGET
Definition: oleauto.h:1007
global_prop_type_t type
ScriptHost * script_host

◆ HTMLWindowSP_AddRef()

static ULONG WINAPI HTMLWindowSP_AddRef ( IServiceProvider iface)
static

Definition at line 2711 of file htmlwindow.c.

2712{
2714 return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
2715}
static HTMLWindow * impl_from_IServiceProvider(IServiceProvider *iface)
Definition: htmlwindow.c:2700

◆ HTMLWindowSP_QueryInterface()

static HRESULT WINAPI HTMLWindowSP_QueryInterface ( IServiceProvider iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 2705 of file htmlwindow.c.

2706{
2708 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
2709}

◆ HTMLWindowSP_QueryService()

static HRESULT WINAPI HTMLWindowSP_QueryService ( IServiceProvider iface,
REFGUID  guidService,
REFIID  riid,
void **  ppv 
)
static

Definition at line 2723 of file htmlwindow.c.

2724{
2726
2727 if(IsEqualGUID(guidService, &IID_IHTMLWindow2)) {
2728 TRACE("IID_IHTMLWindow2\n");
2729 return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
2730 }
2731
2732 TRACE("(%p)->(%s %s %p)\n", This, debugstr_mshtml_guid(guidService), debugstr_mshtml_guid(riid), ppv);
2733
2734 if(!This->outer_window->doc_obj)
2735 return E_NOINTERFACE;
2736
2737 return IServiceProvider_QueryService(&This->outer_window->doc_obj->basedoc.IServiceProvider_iface,
2738 guidService, riid, ppv);
2739}

◆ HTMLWindowSP_Release()

static ULONG WINAPI HTMLWindowSP_Release ( IServiceProvider iface)
static

Definition at line 2717 of file htmlwindow.c.

2718{
2720 return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
2721}

◆ impl_from_DispatchEx()

static HTMLInnerWindow * impl_from_DispatchEx ( DispatchEx iface)
inlinestatic

Definition at line 2748 of file htmlwindow.c.

2749{
2750 return CONTAINING_RECORD(iface, HTMLInnerWindow, event_target.dispex);
2751}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by HTMLWindow_bind_event(), HTMLWindow_get_event_target_ptr(), and HTMLWindow_invoke().

◆ impl_from_IDispatchEx()

◆ impl_from_IHTMLPrivateWindow()

◆ impl_from_IHTMLWindow2()

static HTMLWindow * impl_from_IHTMLWindow2 ( IHTMLWindow2 iface)
inlinestatic

Definition at line 111 of file htmlwindow.c.

112{
113 return CONTAINING_RECORD(iface, HTMLWindow, IHTMLWindow2_iface);
114}

Referenced by HTMLWindow2_AddRef(), HTMLWindow2_alert(), HTMLWindow2_blur(), HTMLWindow2_clearInterval(), HTMLWindow2_clearTimeout(), HTMLWindow2_close(), HTMLWindow2_confirm(), HTMLWindow2_execScript(), HTMLWindow2_focus(), HTMLWindow2_get__newEnum(), HTMLWindow2_get_clientInformation(), HTMLWindow2_get_closed(), HTMLWindow2_get_defaultStatus(), HTMLWindow2_get_document(), HTMLWindow2_get_event(), HTMLWindow2_get_external(), HTMLWindow2_get_frames(), HTMLWindow2_get_history(), HTMLWindow2_get_Image(), HTMLWindow2_get_length(), HTMLWindow2_get_location(), HTMLWindow2_get_name(), HTMLWindow2_get_navigator(), HTMLWindow2_get_offscreenBuffering(), HTMLWindow2_get_onbeforeunload(), HTMLWindow2_get_onblur(), HTMLWindow2_get_onerror(), HTMLWindow2_get_onfocus(), HTMLWindow2_get_onhelp(), HTMLWindow2_get_onload(), HTMLWindow2_get_onresize(), HTMLWindow2_get_onscroll(), HTMLWindow2_get_onunload(), HTMLWindow2_get_opener(), HTMLWindow2_get_Option(), HTMLWindow2_get_parent(), HTMLWindow2_get_screen(), HTMLWindow2_get_self(), HTMLWindow2_get_status(), HTMLWindow2_get_top(), HTMLWindow2_get_window(), HTMLWindow2_GetIDsOfNames(), HTMLWindow2_GetTypeInfo(), HTMLWindow2_GetTypeInfoCount(), HTMLWindow2_Invoke(), HTMLWindow2_item(), HTMLWindow2_moveBy(), HTMLWindow2_moveTo(), HTMLWindow2_navigate(), HTMLWindow2_open(), HTMLWindow2_prompt(), HTMLWindow2_put_defaultStatus(), HTMLWindow2_put_name(), HTMLWindow2_put_offscreenBuffering(), HTMLWindow2_put_onbeforeunload(), HTMLWindow2_put_onblur(), HTMLWindow2_put_onerror(), HTMLWindow2_put_onfocus(), HTMLWindow2_put_onhelp(), HTMLWindow2_put_onload(), HTMLWindow2_put_onresize(), HTMLWindow2_put_onscroll(), HTMLWindow2_put_onunload(), HTMLWindow2_put_opener(), HTMLWindow2_put_status(), HTMLWindow2_QueryInterface(), HTMLWindow2_Release(), HTMLWindow2_resizeBy(), HTMLWindow2_resizeTo(), HTMLWindow2_scroll(), HTMLWindow2_scrollBy(), HTMLWindow2_scrollTo(), HTMLWindow2_setInterval(), HTMLWindow2_setTimeout(), HTMLWindow2_showHelp(), HTMLWindow2_showModalDialog(), and HTMLWindow2_toString().

◆ impl_from_IHTMLWindow3()

◆ impl_from_IHTMLWindow4()

static HTMLWindow * impl_from_IHTMLWindow4 ( IHTMLWindow4 *  iface)
inlinestatic

◆ impl_from_IHTMLWindow5()

static HTMLWindow * impl_from_IHTMLWindow5 ( IHTMLWindow5 *  iface)
inlinestatic

◆ impl_from_IHTMLWindow6()

◆ impl_from_IObjectIdentity()

static HTMLWindow * impl_from_IObjectIdentity ( IObjectIdentity iface)
inlinestatic

Definition at line 2350 of file htmlwindow.c.

2351{
2352 return CONTAINING_RECORD(iface, HTMLWindow, IObjectIdentity_iface);
2353}

Referenced by ObjectIdentity_AddRef(), ObjectIdentity_IsEqualObject(), ObjectIdentity_QueryInterface(), and ObjectIdentity_Release().

◆ impl_from_IServiceProvider()

static HTMLWindow * impl_from_IServiceProvider ( IServiceProvider iface)
inlinestatic

Definition at line 2700 of file htmlwindow.c.

2701{
2702 return CONTAINING_RECORD(iface, HTMLWindow, IServiceProvider_iface);
2703}

Referenced by HTMLWindowSP_AddRef(), HTMLWindowSP_QueryInterface(), HTMLWindowSP_QueryService(), and HTMLWindowSP_Release().

◆ impl_from_ITravelLogClient()

static HTMLWindow * impl_from_ITravelLogClient ( ITravelLogClient iface)
inlinestatic

◆ is_outer_window()

static BOOL is_outer_window ( HTMLWindow window)
inlinestatic

Definition at line 25 of file htmlwindow.c.

26{
27 return &window->outer_window->base == window;
28}

Referenced by HTMLWindow2_Release().

◆ notify_webbrowser_close()

static BOOL notify_webbrowser_close ( HTMLOuterWindow window,
HTMLDocumentObj doc 
)
static

Definition at line 768 of file htmlwindow.c.

769{
770 IConnectionPointContainer *cp_container;
771 VARIANT_BOOL cancel = VARIANT_FALSE;
772 IEnumConnections *enum_conn;
773 VARIANT args[2];
774 DISPPARAMS dp = {args, NULL, 2, 0};
775 CONNECTDATA conn_data;
777 IDispatch *disp;
778 ULONG fetched;
780
781 if(!doc->webbrowser)
782 return TRUE;
783
784 hres = IUnknown_QueryInterface(doc->webbrowser, &IID_IConnectionPointContainer, (void**)&cp_container);
785 if(FAILED(hres))
786 return TRUE;
787
788 hres = IConnectionPointContainer_FindConnectionPoint(cp_container, &DIID_DWebBrowserEvents2, &cp);
789 IConnectionPointContainer_Release(cp_container);
790 if(FAILED(hres))
791 return TRUE;
792
793 hres = IConnectionPoint_EnumConnections(cp, &enum_conn);
794 IConnectionPoint_Release(cp);
795 if(FAILED(hres))
796 return TRUE;
797
798 while(!cancel) {
799 conn_data.pUnk = NULL;
800 conn_data.dwCookie = 0;
801 fetched = 0;
802 hres = IEnumConnections_Next(enum_conn, 1, &conn_data, &fetched);
803 if(hres != S_OK)
804 break;
805
806 hres = IUnknown_QueryInterface(conn_data.pUnk, &IID_IDispatch, (void**)&disp);
807 IUnknown_Release(conn_data.pUnk);
808 if(FAILED(hres))
809 continue;
810
812 V_BOOLREF(args) = &cancel;
813 V_VT(args+1) = VT_BOOL;
814 V_BOOL(args+1) = window->parent ? VARIANT_TRUE : VARIANT_FALSE;
815 hres = IDispatch_Invoke(disp,