38 TRACE(
"(%p)->(IID_IUnknown %p)\n",
This, ppvObj);
39 *ppvObj = &
This->IOleClientSite_iface;
41 TRACE(
"(%p)->(IID_IOleClientSite %p)\n",
This, ppvObj);
42 *ppvObj = &
This->IOleClientSite_iface;
44 TRACE(
"(%p)->(IID_IOleInPlaceSite %p)\n",
This, ppvObj);
45 *ppvObj = &
This->IOleInPlaceSite_iface;
47 TRACE(
"(%p)->(IID_IOleInPlaceFrame %p)\n",
This, ppvObj);
48 *ppvObj = &
This->IOleInPlaceSite_iface;
50 TRACE(
"(%p)->(IID_IDocHostUIHandler %p)\n",
This, ppvObj);
51 *ppvObj = &
This->IDocHostUIHandler_iface;
81 IOleObject_Release(
This->ole_obj);
83 IWebBrowser2_Release(
This->web_browser);
144 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid, ppvObj);
151 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
158 return IOleClientSite_Release(&
This->IOleClientSite_iface);
164 DWORD cmdid, menu_id = 0;
174 if(dwID == CONTEXT_MENU_TEXTSELECT)
191 IWebBrowser2_ExecWB(
This->web_browser, OLECMDID_SELECTALL, 0,
NULL,
NULL);
194 FIXME(
"View source\n");
203 FIXME(
"Properties\n");
206 IWebBrowser2_ExecWB(
This->web_browser, OLECMDID_COPY, 0,
NULL,
NULL);
209 IWebBrowser2_ExecWB(
This->web_browser, OLECMDID_PASTE, 0,
NULL,
NULL);
212 IWebBrowser2_ExecWB(
This->web_browser, OLECMDID_CUT, 0,
NULL,
NULL);
221 pInfo->cbSize =
sizeof(DOCHOSTUIINFO);
327 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid, ppvObj);
334 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
341 return IOleClientSite_Release(&
This->IOleClientSite_iface);
348 *lphwnd =
This->hwndWindow;
376 *lplpFrame = &
This->IOleInPlaceFrame_iface;
377 IOleInPlaceFrame_AddRef(&
This->IOleInPlaceFrame_iface);
381 lpFrameInfo->fMDIApp =
FALSE;
382 lpFrameInfo->hwndFrame =
This->hwndWindow;
383 lpFrameInfo->haccel =
NULL;
384 lpFrameInfo->cAccelEntries = 0;
420 (
void **)&inplace) ==
S_OK)
422 IOleInPlaceObject_SetObjectRects(inplace, lprcPosRect, lprcPosRect);
423 IOleInPlaceObject_Release(inplace);
457 return IOleClientSite_QueryInterface(&
This->IOleClientSite_iface,
riid, ppvObj);
464 return IOleClientSite_AddRef(&
This->IOleClientSite_iface);
471 return IOleClientSite_Release(&
This->IOleClientSite_iface);
478 *lphwnd =
This->hwndWindow;
708 IOleInPlaceObject_SetObjectRects(inplace, &rc, &rc);
709 IOleInPlaceObject_Release(inplace);
711 hr = IOleObject_QueryInterface(
container->ole_obj, &IID_IWebBrowser2, (
void **)&
container->web_browser);
733 IOleInPlaceSite_OnInPlaceDeactivate(inplace);
734 IOleInPlaceSite_Release(inplace);
741 IOleClientSite_Release(&
container->IOleClientSite_iface);
746 if (!
info->web_browser)
749 IWebBrowser2_put_Width(
info->web_browser->web_browser,
dwWidth);
750 IWebBrowser2_put_Height(
info->web_browser->web_browser,
dwHeight);
761 IWebBrowser2_GoBack(
container->web_browser);
764 IWebBrowser2_GoForward(
container->web_browser);
767 IWebBrowser2_GoHome(
container->web_browser);
770 IWebBrowser2_GoSearch(
container->web_browser);
773 IWebBrowser2_Refresh(
container->web_browser);
776 IWebBrowser2_Stop(
container->web_browser);
779 IWebBrowser2_ExecWB(
container->web_browser, OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, 0, 0);
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_point(const POINT *ppt)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
static const WCHAR dwWidth[]
static const WCHAR dwHeight[]
HRESULT WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained)
HRESULT WINAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj)
HINSTANCE hhctrl_hinstance
static HRESULT STDMETHODCALLTYPE InPlace_DiscardUndoState(IOleInPlaceSite *iface)
static ULONG STDMETHODCALLTYPE Site_Release(IOleClientSite *iface)
static const IOleClientSiteVtbl OleClientSiteVtbl
static HRESULT STDMETHODCALLTYPE Frame_GetWindow(IOleInPlaceFrame *iface, HWND *lphwnd)
static HRESULT STDMETHODCALLTYPE Frame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
static HRESULT STDMETHODCALLTYPE Storage_SetClass(IStorage *This, REFCLSID clsid)
void ResizeWebBrowser(HHInfo *info, DWORD dwWidth, DWORD dwHeight)
static HRESULT STDMETHODCALLTYPE UI_TranslateUrl(IDocHostUIHandler *iface, DWORD dwTranslate, OLECHAR *pchURLIn, OLECHAR **ppchURLOut)
static HRESULT STDMETHODCALLTYPE Frame_ContextSensitiveHelp(IOleInPlaceFrame *iface, BOOL fEnterMode)
static HRESULT STDMETHODCALLTYPE UI_UpdateUI(IDocHostUIHandler *iface)
static HRESULT STDMETHODCALLTYPE UI_EnableModeless(IDocHostUIHandler *iface, BOOL fEnable)
static HRESULT STDMETHODCALLTYPE Frame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
static ULONG STDMETHODCALLTYPE Frame_Release(IOleInPlaceFrame *iface)
static HRESULT STDMETHODCALLTYPE UI_OnDocWindowActivate(IDocHostUIHandler *iface, BOOL fActivate)
static HRESULT STDMETHODCALLTYPE UI_FilterDataObject(IDocHostUIHandler *iface, IDataObject *pDO, IDataObject **ppDORet)
static HRESULT STDMETHODCALLTYPE InPlace_DeactivateAndUndo(IOleInPlaceSite *iface)
static HRESULT STDMETHODCALLTYPE Storage_EnumElements(IStorage *This, DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum)
static ULONG STDMETHODCALLTYPE Frame_AddRef(IOleInPlaceFrame *iface)
static HRESULT STDMETHODCALLTYPE Site_ShowObject(IOleClientSite *iface)
static HRESULT STDMETHODCALLTYPE InPlace_GetWindow(IOleInPlaceSite *iface, HWND *lphwnd)
static HRESULT STDMETHODCALLTYPE InPlace_QueryInterface(IOleInPlaceSite *iface, REFIID riid, LPVOID *ppvObj)
static HRESULT STDMETHODCALLTYPE UI_OnFrameWindowActivate(IDocHostUIHandler *iface, BOOL fActivate)
void ReleaseWebBrowser(HHInfo *info)
static ULONG STDMETHODCALLTYPE Site_AddRef(IOleClientSite *iface)
static WebBrowserContainer * impl_from_IOleClientSite(IOleClientSite *iface)
static HRESULT STDMETHODCALLTYPE Storage_DestroyElement(IStorage *This, const OLECHAR *pwcsName)
static ULONG STDMETHODCALLTYPE InPlace_AddRef(IOleInPlaceSite *iface)
static WebBrowserContainer * impl_from_IOleInPlaceSite(IOleInPlaceSite *iface)
static HRESULT STDMETHODCALLTYPE Storage_Revert(IStorage *This)
static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl
static HRESULT STDMETHODCALLTYPE InPlace_OnPosRectChange(IOleInPlaceSite *iface, LPCRECT lprcPosRect)
static HRESULT STDMETHODCALLTYPE Frame_QueryInterface(IOleInPlaceFrame *iface, REFIID riid, LPVOID *ppvObj)
static WebBrowserContainer * impl_from_IOleInPlaceFrame(IOleInPlaceFrame *iface)
static const IOleInPlaceSiteVtbl OleInPlaceSiteVtbl
static HRESULT STDMETHODCALLTYPE UI_GetHostInfo(IDocHostUIHandler *iface, DOCHOSTUIINFO *pInfo)
static WebBrowserContainer * impl_from_IDocHostUIHandler(IDocHostUIHandler *iface)
static HRESULT STDMETHODCALLTYPE Frame_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
static HRESULT STDMETHODCALLTYPE Storage_SetElementTimes(IStorage *This, const WCHAR *pwcsName, FILETIME const *pctime, FILETIME const *patime, FILETIME const *pmtime)
static ULONG STDMETHODCALLTYPE UI_Release(IDocHostUIHandler *iface)
static HRESULT STDMETHODCALLTYPE InPlace_OnUIActivate(IOleInPlaceSite *iface)
static HRESULT STDMETHODCALLTYPE InPlace_GetWindowContext(IOleInPlaceSite *iface, LPOLEINPLACEFRAME *lplpFrame, LPOLEINPLACEUIWINDOW *lplpDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
static HRESULT STDMETHODCALLTYPE Storage_CopyTo(IStorage *This, DWORD ciidExclude, IID const *rgiidExclude, SNB snbExclude, IStorage *pstgDest)
static HRESULT STDMETHODCALLTYPE UI_ResizeBorder(IDocHostUIHandler *iface, LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fRameWindow)
static HRESULT STDMETHODCALLTYPE Site_OnShowWindow(IOleClientSite *iface, BOOL fShow)
static HRESULT STDMETHODCALLTYPE Frame_SetStatusText(IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
static HRESULT STDMETHODCALLTYPE Storage_SetStateBits(IStorage *This, DWORD grfStateBits, DWORD grfMask)
static HRESULT STDMETHODCALLTYPE UI_QueryInterface(IDocHostUIHandler *iface, REFIID riid, LPVOID *ppvObj)
static HRESULT STDMETHODCALLTYPE Frame_SetBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
static HRESULT STDMETHODCALLTYPE InPlace_Scroll(IOleInPlaceSite *iface, SIZE scrollExtent)
static ULONG STDMETHODCALLTYPE UI_AddRef(IDocHostUIHandler *iface)
static HRESULT STDMETHODCALLTYPE UI_TranslateAccelerator(IDocHostUIHandler *iface, LPMSG lpMsg, const GUID *pguidCmdGroup, DWORD nCmdID)
static HRESULT STDMETHODCALLTYPE Site_SaveObject(IOleClientSite *iface)
static HRESULT STDMETHODCALLTYPE Storage_QueryInterface(IStorage *This, REFIID riid, LPVOID *ppvObj)
static IStorage MyIStorage
static HRESULT STDMETHODCALLTYPE InPlace_OnUIDeactivate(IOleInPlaceSite *iface, BOOL fUndoable)
static ULONG STDMETHODCALLTYPE InPlace_Release(IOleInPlaceSite *iface)
static ULONG STDMETHODCALLTYPE Storage_Release(IStorage *This)
static HRESULT STDMETHODCALLTYPE Frame_TranslateAccelerator(IOleInPlaceFrame *iface, LPMSG lpmsg, WORD wID)
static HRESULT STDMETHODCALLTYPE Storage_OpenStorage(IStorage *This, const WCHAR *pwcsName, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstg)
static HRESULT STDMETHODCALLTYPE Site_RequestNewObjectLayout(IOleClientSite *iface)
static HRESULT STDMETHODCALLTYPE InPlace_OnInPlaceActivate(IOleInPlaceSite *iface)
static HRESULT STDMETHODCALLTYPE Frame_RequestBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
static HRESULT STDMETHODCALLTYPE UI_HideUI(IDocHostUIHandler *iface)
static const IStorageVtbl MyIStorageTable
static HRESULT STDMETHODCALLTYPE UI_GetOptionKeyPath(IDocHostUIHandler *iface, LPOLESTR *pchKey, DWORD dw)
static HRESULT STDMETHODCALLTYPE Storage_Commit(IStorage *This, DWORD grfCommitFlags)
static HRESULT STDMETHODCALLTYPE Site_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppvObj)
static HRESULT STDMETHODCALLTYPE UI_GetDropTarget(IDocHostUIHandler *iface, IDropTarget *pDropTarget, IDropTarget **ppDropTarget)
static HRESULT STDMETHODCALLTYPE Site_GetMoniker(IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
static HRESULT STDMETHODCALLTYPE Storage_RenameElement(IStorage *This, const WCHAR *pwcsOldName, const WCHAR *pwcsNewName)
static HRESULT STDMETHODCALLTYPE UI_ShowContextMenu(IDocHostUIHandler *iface, DWORD dwID, POINT *ppt, IUnknown *pcmdtReserved, IDispatch *pdispReserved)
static HRESULT STDMETHODCALLTYPE InPlace_OnInPlaceDeactivate(IOleInPlaceSite *iface)
static HRESULT STDMETHODCALLTYPE Storage_OpenStream(IStorage *This, const WCHAR *pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm)
void DoPageAction(WebBrowserContainer *container, DWORD dwAction)
static HRESULT STDMETHODCALLTYPE Frame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
static HRESULT STDMETHODCALLTYPE Storage_CreateStorage(IStorage *This, const WCHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStorage **ppstg)
static ULONG STDMETHODCALLTYPE Storage_AddRef(IStorage *This)
static HRESULT STDMETHODCALLTYPE InPlace_CanInPlaceActivate(IOleInPlaceSite *iface)
static HRESULT STDMETHODCALLTYPE UI_GetExternal(IDocHostUIHandler *iface, IDispatch **ppDispatch)
static HRESULT STDMETHODCALLTYPE Storage_Stat(IStorage *This, STATSTG *pstatstg, DWORD grfStatFlag)
static HRESULT STDMETHODCALLTYPE UI_ShowUI(IDocHostUIHandler *iface, DWORD dwID, IOleInPlaceActiveObject *pActiveObject, IOleCommandTarget *pCommandTarget, IOleInPlaceFrame *pFrame, IOleInPlaceUIWindow *pDoc)
static HRESULT STDMETHODCALLTYPE Storage_MoveElementTo(IStorage *This, const OLECHAR *pwcsName, IStorage *pstgDest, const OLECHAR *pwcsNewName, DWORD grfFlags)
BOOL InitWebBrowser(HHInfo *info, HWND hwndParent)
static HRESULT STDMETHODCALLTYPE InPlace_ContextSensitiveHelp(IOleInPlaceSite *iface, BOOL fEnterMode)
static HRESULT STDMETHODCALLTYPE Storage_CreateStream(IStorage *This, const WCHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream **ppstm)
static const IDocHostUIHandlerVtbl DocHostUIHandlerVtbl
static HRESULT STDMETHODCALLTYPE Site_GetContainer(IOleClientSite *iface, LPOLECONTAINER *ppContainer)
static HRESULT STDMETHODCALLTYPE Frame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
static HRESULT STDMETHODCALLTYPE Frame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
REFIID LPVOID DWORD_PTR dw
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
@ DOCHOSTUIDBLCLK_DEFAULT
@ DOCHOSTUIFLAG_NO3DBORDER
const GUID IID_IOleInPlaceSite
const GUID IID_IOleInPlaceFrame
const GUID IID_IOleClientSite
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
#define IsEqualIID(riid1, riid2)
#define CONTAINING_RECORD(address, type, field)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI DestroyMenu(_In_ HMENU)
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
#define MAKEINTRESOURCEW(i)
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)