46 *
ppv = &
This->IWebBrowser2_iface;
49 *
ppv = &
This->IWebBrowser2_iface;
52 *
ppv = &
This->IWebBrowser2_iface;
55 *
ppv = &
This->IWebBrowser2_iface;
58 *
ppv = &
This->IWebBrowser2_iface;
64 *
ppv = &
This->IOleInPlaceObject_iface;
67 *
ppv = &
This->IOleInPlaceObject_iface;
70 *
ppv = &
This->IOleControl_iface;
73 *
ppv = &
This->IPersistStorage_iface;
76 *
ppv = &
This->IPersistStorage_iface;
79 *
ppv = &
This->IPersistMemory_iface;
82 *
ppv = &
This->IPersistStreamInit_iface;
85 *
ppv = &
This->IProvideClassInfo2_iface;
88 *
ppv = &
This->IProvideClassInfo2_iface;
90 TRACE(
"(%p)->(IID_IConnectionPointContainer %p)\n",
This,
ppv);
91 *
ppv = &
This->doc_host.cps.IConnectionPointContainer_iface;
94 *
ppv = &
This->IViewObject2_iface;
97 *
ppv = &
This->IViewObject2_iface;
99 TRACE(
"(%p)->(IID_IOleInPlaceActiveObject %p)\n",
This,
ppv);
100 *
ppv = &
This->IOleInPlaceActiveObject_iface;
103 *
ppv = &
This->IOleCommandTarget_iface;
105 *
ppv = &
This->IServiceProvider_iface;
108 *
ppv = &
This->IDataObject_iface;
111 TRACE(
"(%p)->(IID_IQuickActivate %p) returning NULL\n",
This,
ppv);
114 TRACE(
"(%p)->(IID_IRunnableObject %p) returning NULL\n",
This,
ppv);
117 TRACE(
"(%p)->(IID_IPerPropertyBrowsing %p) returning NULL\n",
This,
ppv);
120 TRACE(
"(%p)->(IID_IOleCache %p) returning NULL\n",
This,
ppv);
123 TRACE(
"(%p)->(IID_IOleInPlaceSite %p) returning NULL\n",
This,
ppv);
126 TRACE(
"(%p)->(IID_IObjectWithSite %p) returning NULL\n",
This,
ppv);
129 TRACE(
"(%p)->(IID_IViewObjectEx %p) returning NULL\n",
This,
ppv);
132 TRACE(
"(%p)->(IID_IOleLink %p) returning NULL\n",
This,
ppv);
135 TRACE(
"(%p)->(IID_IMarshal %p) returning NULL\n",
This,
ppv);
139 WARN(
"(%p)->(IID_IStdMarshalInfo %p) returning NULL\n",
This,
ppv);
171 IAdviseSink_Release(
This->sink);
173 if(
This->doc_host.document)
174 IUnknown_Release(
This->doc_host.document);
205 TRACE(
"(%p)->(%d %d %p)\n",
This, iTInfo, lcid, ppTInfo);
231 return ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
236 DISPPARAMS *pDispParams,
VARIANT *pVarResult,
237 EXCEPINFO *pExepInfo,
UINT *puArgErr)
244 lcid,
wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
250 return ITypeInfo_Invoke(
typeinfo, &
This->IWebBrowser2_iface, dispIdMember,
wFlags, pDispParams,
251 pVarResult, pExepInfo, puArgErr);
331 IDispatch_AddRef(*ppDisp);
356 if(
This->doc_host.document) {
365 hres = IDispatch_QueryInterface(disp, &IID_IHTMLDocument2, (
void**)&
html_doc);
367 IDispatch_Release(disp);
397 *pl =
This->pos_rect.left;
416 return IOleInPlaceSiteEx_OnPosRectChange(
This->inplace, &
rect);
425 *pl =
This->pos_rect.top;
444 return IOleInPlaceSiteEx_OnPosRectChange(
This->inplace, &
rect);
453 *pl =
This->pos_rect.right -
This->pos_rect.left;
472 return IOleInPlaceSiteEx_OnPosRectChange(
This->inplace, &
rect);
481 *pl =
This->pos_rect.bottom -
This->pos_rect.top;
500 return IOleInPlaceSiteEx_OnPosRectChange(
This->inplace, &
rect);
506 FIXME(
"(%p)->(%p)\n",
This, LocationName);
514 TRACE(
"(%p)->(%p)\n",
This, LocationURL);
525 *pBool =
This->doc_host.busy;
542 FIXME(
"(%p)->(%p %p)\n",
This, pcx, pcy);
562 static const WCHAR sName[] = {
'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
' ',
'W',
'e',
'b',
563 ' ',
'B',
'r',
'o',
'w',
's',
'e',
'r',
' ',
'C',
'o',
'n',
't',
'r',
'o',
'l',0};
604 *pBool =
This->visible;
612 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
631 *pBool =
This->status_bar;
639 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
643 This->status_bar =
Value ? VARIANT_TRUE : VARIANT_FALSE;
683 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
687 This->tool_bar =
Value ? VARIANT_TRUE : VARIANT_FALSE;
713 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
717 This->menu_bar =
Value ? VARIANT_TRUE : VARIANT_FALSE;
733 TRACE(
"(%p)->(%p)\n",
This, pbFullScreen);
735 *pbFullScreen =
This->full_screen;
743 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
748 TRACE(
"(%p)->(%x)\n",
This, bFullScreen);
750 This->full_screen = bFullScreen ? VARIANT_TRUE : VARIANT_FALSE;
783 FIXME(
"Unsupported V_VT(URL) %d\n",
V_VT(URL));
794 OLECMD ole_command[1];
797 TRACE(
"(%p)->(%d %p)\n",
This, cmdID, pcmdf);
801 ole_command[0].cmdID = cmdID;
802 ole_command[0].cmdf = *pcmdf;
812 hres = IUnknown_QueryInterface(
This->doc_host.document, &IID_IOleCommandTarget, (
LPVOID*)&
target);
822 *pcmdf = ole_command[0].cmdf;
823 if (
hres == OLECMDERR_E_NOTSUPPORTED)
828 IOleCommandTarget_Release(
target);
850 hres = IUnknown_QueryInterface(
This->doc_host.document, &IID_IOleCommandTarget, (
LPVOID*)&
target);
858 hres = IOleCommandTarget_Exec(
target,
NULL, cmdID, cmdexecopt, pvaIn, pvaOut);
859 IOleCommandTarget_Release(
target);
877 TRACE(
"(%p)->(%p)\n",
This, lpReadyState);
879 *lpReadyState =
This->doc_host.ready_state;
889 *pbOffline =
This->doc_host.offline;
899 This->doc_host.offline = bOffline ? VARIANT_TRUE : VARIANT_FALSE;
909 *pbSilent =
This->doc_host.silent;
919 This->doc_host.silent = bSilent ? VARIANT_TRUE : VARIANT_FALSE;
930 *pbRegister =
This->register_browser;
941 This->register_browser = bRegister ? VARIANT_TRUE : VARIANT_FALSE;
973 *pbRegister =
This->theater_mode;
981 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
985 This->theater_mode = bRegister ? VARIANT_TRUE : VARIANT_FALSE;
1011 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
1015 This->address_bar =
Value ? VARIANT_TRUE : VARIANT_FALSE;
1041 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
1139 return IWebBrowser2_QueryInterface(&
This->IWebBrowser2_iface,
riid,
ppv);
1145 return IWebBrowser2_AddRef(&
This->IWebBrowser2_iface);
1151 return IWebBrowser2_Release(&
This->IWebBrowser2_iface);
1160 TRACE(
"(%p)->(SID_SHTMLWindow)\n",
This);
1161 return IHTMLWindow2_QueryInterface(&
This->doc_host.html_window.IHTMLWindow2_iface,
riid,
ppv);
1165 TRACE(
"(%p)->(IID_IBrowserService2 return E_FAIL)\n",
This);
1191 return IWebBrowser2_AddRef(&
This->IWebBrowser2_iface);
1197 return IWebBrowser2_Release(&
This->IWebBrowser2_iface);
1243 ret->visible = VARIANT_TRUE;
1244 ret->menu_bar = VARIANT_TRUE;
1245 ret->address_bar = VARIANT_TRUE;
1246 ret->status_bar = VARIANT_TRUE;
1247 ret->tool_bar = VARIANT_TRUE;
1258 hres = IWebBrowser2_QueryInterface(&
ret->IWebBrowser2_iface,
riid,
ppv);
1260 IWebBrowser2_Release(&
ret->IWebBrowser2_iface);
PRTL_UNICODE_STRING_BUFFER Path
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
void WebBrowser_ClassInfo_Init(WebBrowser *This)
static const WCHAR version[]
static HRESULT navigate_url(HHInfo *info, LPCWSTR surl)
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
void DocHost_Init(DocHost *This, IWebBrowser2 *wb, const IDocHostContainerVtbl *container)
HRESULT refresh_document(DocHost *This, const VARIANT *level)
void DocHost_Release(DocHost *This)
static HRESULT WINAPI WebBrowser_get_Height(IWebBrowser2 *iface, LONG *pl)
static HRESULT STDMETHODCALLTYPE WBServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
static HRESULT WINAPI WebBrowser_get_RegisterAsBrowser(IWebBrowser2 *iface, VARIANT_BOOL *pbRegister)
HRESULT WINAPI WebBrowserV1_Create(IClassFactory *iface, IUnknown *pOuter, REFIID riid, void **ppv)
static ULONG WINAPI WebBrowser_AddRef(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI WebBrowser_PutProperty(IWebBrowser2 *iface, BSTR szProperty, VARIANT vtValue)
static HRESULT WINAPI WebBrowser_get_Silent(IWebBrowser2 *iface, VARIANT_BOOL *pbSilent)
static const IDocHostContainerVtbl DocHostContainerVtbl
static HRESULT WINAPI WebBrowser_get_Busy(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
static HRESULT WINAPI WebBrowser_Navigate(IWebBrowser2 *iface, BSTR szUrl, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
static HRESULT WINAPI WebBrowser_Refresh2(IWebBrowser2 *iface, VARIANT *Level)
static HRESULT WINAPI WebBrowser_put_ToolBar(IWebBrowser2 *iface, int Value)
static HRESULT WINAPI WebBrowser_QueryStatusWB(IWebBrowser2 *iface, OLECMDID cmdID, OLECMDF *pcmdf)
static HRESULT WINAPI WebBrowser_get_AddressBar(IWebBrowser2 *iface, VARIANT_BOOL *Value)
static HRESULT WINAPI WebBrowser_put_Silent(IWebBrowser2 *iface, VARIANT_BOOL bSilent)
static HRESULT WINAPI WebBrowser_get_Application(IWebBrowser2 *iface, IDispatch **ppDisp)
static HRESULT WINAPI WebBrowser_ShowBrowserBar(IWebBrowser2 *iface, VARIANT *pvaClsid, VARIANT *pvarShow, VARIANT *pvarSize)
HRESULT WINAPI WebBrowser_Create(IClassFactory *iface, IUnknown *pOuter, REFIID riid, void **ppv)
static HRESULT WINAPI WebBrowser_Refresh(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_put_Top(IWebBrowser2 *iface, LONG Top)
static HRESULT WINAPI WebBrowser_put_Height(IWebBrowser2 *iface, LONG Height)
static HRESULT WINAPI WebBrowser_put_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
static WebBrowser * impl_from_IWebBrowser2(IWebBrowser2 *iface)
static ULONG WebBrowser_addref(DocHost *iface)
static HRESULT WINAPI WebBrowser_put_TheaterMode(IWebBrowser2 *iface, VARIANT_BOOL bRegister)
static HRESULT WINAPI WebBrowser_GetProperty(IWebBrowser2 *iface, BSTR szProperty, VARIANT *pvtValue)
static HRESULT WINAPI WebBrowser_Invoke(IWebBrowser2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
static HRESULT DocHostContainer_set_status_text(DocHost *This, const WCHAR *text)
static HRESULT WINAPI WebBrowser_put_Width(IWebBrowser2 *iface, LONG Width)
static HRESULT WINAPI WebBrowser_get_Resizable(IWebBrowser2 *iface, VARIANT_BOOL *Value)
static HRESULT WINAPI WBServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI WebBrowser_ExecWB(IWebBrowser2 *iface, OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
static HRESULT WINAPI WebBrowser_GetIDsOfNames(IWebBrowser2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WebBrowser_get_TheaterMode(IWebBrowser2 *iface, VARIANT_BOOL *pbRegister)
static HRESULT create_webbrowser(int version, IUnknown *outer, REFIID riid, void **ppv)
static HRESULT WINAPI WebBrowser_GoSearch(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL *pbFullScreen)
static HRESULT WINAPI WebBrowser_put_AddressBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
static const IWebBrowser2Vtbl WebBrowser2Vtbl
static void DocHostContainer_get_docobj_rect(DocHost *This, RECT *rc)
static ULONG WINAPI WebBrowser_Release(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_LocationURL(IWebBrowser2 *iface, BSTR *LocationURL)
static ULONG WINAPI WBServiceProvider_AddRef(IServiceProvider *iface)
static HRESULT WINAPI WebBrowser_get_Name(IWebBrowser2 *iface, BSTR *Name)
static HRESULT WINAPI WebBrowser_GoBack(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_ReadyState(IWebBrowser2 *iface, READYSTATE *lpReadyState)
static HRESULT WINAPI WebBrowser_get_Left(IWebBrowser2 *iface, LONG *pl)
static HRESULT WINAPI WebBrowser_GoForward(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_HWND(IWebBrowser2 *iface, SHANDLE_PTR *pHWND)
static WebBrowser * impl_from_DocHost(DocHost *iface)
static HRESULT WINAPI WebBrowser_GetTypeInfoCount(IWebBrowser2 *iface, UINT *pctinfo)
static HRESULT WINAPI WebBrowser_put_RegisterAsDropTarget(IWebBrowser2 *iface, VARIANT_BOOL bRegister)
static HRESULT WINAPI WebBrowser_get_RegisterAsDropTarget(IWebBrowser2 *iface, VARIANT_BOOL *pbRegister)
static HRESULT WINAPI WebBrowser_put_RegisterAsBrowser(IWebBrowser2 *iface, VARIANT_BOOL bRegister)
static HRESULT WINAPI WebBrowser_put_Visible(IWebBrowser2 *iface, VARIANT_BOOL Value)
static HRESULT WINAPI WebBrowser_Stop(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_StatusText(IWebBrowser2 *iface, BSTR *StatusText)
static HRESULT WINAPI WebBrowser_put_Offline(IWebBrowser2 *iface, VARIANT_BOOL bOffline)
static HRESULT WINAPI WebBrowser_get_Container(IWebBrowser2 *iface, IDispatch **ppDisp)
static HRESULT WINAPI WebBrowser_get_FullName(IWebBrowser2 *iface, BSTR *FullName)
static HRESULT WINAPI WebBrowser_get_Path(IWebBrowser2 *iface, BSTR *Path)
static HRESULT WINAPI WebBrowser_get_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL *Value)
static HRESULT WINAPI WebBrowser_put_Left(IWebBrowser2 *iface, LONG Left)
static HRESULT WINAPI WebBrowser_get_Offline(IWebBrowser2 *iface, VARIANT_BOOL *pbOffline)
static HRESULT WINAPI WebBrowser_put_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
static HRESULT WINAPI WebBrowser_get_Top(IWebBrowser2 *iface, LONG *pl)
static ULONG WINAPI WBServiceProvider_Release(IServiceProvider *iface)
static HRESULT WINAPI WebBrowser_put_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL bFullScreen)
static HRESULT WINAPI WebBrowser_Quit(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_Visible(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
static HRESULT WINAPI WebBrowser_GetTypeInfo(IWebBrowser2 *iface, UINT iTInfo, LCID lcid, LPTYPEINFO *ppTInfo)
static HRESULT WINAPI WebBrowser_Navigate2(IWebBrowser2 *iface, VARIANT *URL, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
static HRESULT WINAPI WebBrowser_ClientToWindow(IWebBrowser2 *iface, int *pcx, int *pcy)
static const IServiceProviderVtbl ServiceProviderVtbl
static HRESULT WINAPI WebBrowser_get_Width(IWebBrowser2 *iface, LONG *pl)
static HRESULT WINAPI WebBrowser_get_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
static HRESULT WINAPI WebBrowser_get_Document(IWebBrowser2 *iface, IDispatch **ppDisp)
static ULONG WebBrowser_release(DocHost *iface)
static void DocHostContainer_on_command_state_change(DocHost *This, LONG command, BOOL enable)
static HRESULT WINAPI WebBrowser_get_ToolBar(IWebBrowser2 *iface, int *Value)
static HRESULT WINAPI WebBrowser_get_Parent(IWebBrowser2 *iface, IDispatch **ppDisp)
static void DocHostContainer_set_url(DocHost *This, const WCHAR *url)
static HRESULT WINAPI WebBrowser_put_Resizable(IWebBrowser2 *iface, VARIANT_BOOL Value)
static HRESULT WINAPI WebBrowser_get_LocationName(IWebBrowser2 *iface, BSTR *LocationName)
static WebBrowser * impl_from_IServiceProvider(IServiceProvider *iface)
static HRESULT WINAPI WebBrowser_put_StatusText(IWebBrowser2 *iface, BSTR StatusText)
static HRESULT WINAPI WebBrowser_GoHome(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_TopLevelContainer(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
static HRESULT WINAPI WebBrowser_get_Type(IWebBrowser2 *iface, BSTR *Type)
void WebBrowser_ViewObject_Init(WebBrowser *) DECLSPEC_HIDDEN
BOOL HlinkFrame_QI(HlinkFrame *, REFIID, void **) DECLSPEC_HIDDEN
HRESULT go_forward(DocHost *) DECLSPEC_HIDDEN
void HlinkFrame_Init(HlinkFrame *, IUnknown *, DocHost *) DECLSPEC_HIDDEN
static void lock_module(void)
HRESULT get_location_url(DocHost *, BSTR *) DECLSPEC_HIDDEN
HRESULT go_back(DocHost *) DECLSPEC_HIDDEN
static void unlock_module(void)
void WebBrowser_OleObject_Init(WebBrowser *) DECLSPEC_HIDDEN
void WebBrowser_Persist_Init(WebBrowser *) DECLSPEC_HIDDEN
HRESULT go_home(DocHost *) DECLSPEC_HIDDEN
void WebBrowser_OleObject_Destroy(WebBrowser *) DECLSPEC_HIDDEN
const IID IID_IObjectWithSite
static const char * debugstr_variant(const VARIANT *var)
IHTMLDocument2 * html_doc
static VARIANTARG static DISPID
BSTR WINAPI SysAllocString(LPCOLESTR str)
const GUID IID_IOleInPlaceActiveObject
const GUID IID_IOleInPlaceSite
const GUID IID_IViewObject
const GUID IID_IConnectionPointContainer
const GUID IID_IProvideClassInfo
const GUID IID_IOleWindow
const GUID IID_IViewObject2
const GUID IID_IRunnableObject
const GUID IID_IProvideClassInfo2
const GUID IID_IDataObject
const GUID IID_IOleInPlaceObject
const GUID IID_IPersistStorage
const GUID IID_IPersistMemory
const GUID IID_IOleObject
const GUID IID_IOleControl
const GUID IID_IPerPropertyBrowsing
const GUID IID_IPersistStreamInit
#define IsEqualGUID(rguid1, rguid2)
#define CONTAINING_RECORD(address, type, field)
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
#define DISPID_ONSTATUSBAR
#define DISPID_ONADDRESSBAR
#define DISPID_WINDOWSETRESIZABLE
#define DISPID_ONFULLSCREEN
#define DISPID_ONTHEATERMODE
_In_ DWORD _Out_ _In_ WORD wFlags
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
_Must_inspect_result_ _In_ ULONG Flags