static ULONG html_Release(html_t* html) { ULONG refs; HTML_TRACE("html_Release(%d -> %d)", (int) html->refs, (int) html->refs-1); refs = mc_unref(&html->refs); if(refs == 0) { HTML_TRACE("html_Release: Freeing the HTML object."); free(html); } return refs; }
static HRESULT STDMETHODCALLTYPE dispatch_GetTypeInfo(IDispatch* self, UINT index, LCID lcid, ITypeInfo** type_info) { HTML_TRACE("dispatch_GetTypeInfo: Stub [TYPE_E_ELEMENTNOTFOUND]"); *type_info = NULL; return TYPE_E_ELEMENTNOTFOUND; }
static HRESULT STDMETHODCALLTYPE ui_handler_TranslateAccelerator(IDocHostUIHandler* self, MSG* msg, const GUID* guid, DWORD cmd_id) { HTML_TRACE("ui_handler_TranslateAccelerator: Stub [S_FALSE]"); return S_FALSE; }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_GetWindow(IOleInPlaceSiteEx* self, HWND* win) { HTML_TRACE("inplace_site_GetWindow"); *win = MC_HTML_FROM_INPLACE_SITE_EX(self)->win; return S_OK; }
static LRESULT html_notify_text(html_t* html, UINT code, const WCHAR* text) { /* Note we shamelessly misuse this also for URL notifications, as the * MC_NMHTMLURL and MC_NMHTMLTEXT are binary compatible. * They are separate mainly for historical reasons. */ MC_NMHTMLTEXTW notify; LRESULT res; BOOL need_free = FALSE; HTML_TRACE("html_notify_text: code=%d str='%S'", code, text ? text : L"[null]"); notify.hdr.hwndFrom = html->win; notify.hdr.idFrom = GetDlgCtrlID(html->win); notify.hdr.code = code; if(text == NULL) { notify.pszText = L""; } else if(html->unicode_notifications) { notify.pszText = text; } else { notify.pszText = (WCHAR*) mc_str(text, MC_STRW, MC_STRA); need_free = TRUE; } res = MC_SEND(html->notify_win, WM_NOTIFY, notify.hdr.idFrom, ¬ify); if(need_free) free((WCHAR*)notify.pszText); return res; }
static HRESULT STDMETHODCALLTYPE client_site_GetContainer(IOleClientSite* self, LPOLECONTAINER* container) { HTML_TRACE("client_site_GetContainer: Stub [E_NOINTERFACE]"); *container = NULL; return E_NOINTERFACE; }
static HRESULT STDMETHODCALLTYPE inplace_frame_SetActiveObject(IOleInPlaceFrame* self, IOleInPlaceActiveObject *active_obj, LPCOLESTR obj_name) { HTML_TRACE("inplace_frame_SetActiveObject: Stub [S_OK]"); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_frame_GetWindow(IOleInPlaceFrame* self, HWND* win) { HTML_TRACE("inplace_frame_GetWindow"); *win = GetAncestor(MC_HTML_FROM_INPLACE_FRAME(self)->win, GA_ROOT); return(S_OK); }
static HRESULT STDMETHODCALLTYPE ui_handler_GetOptionKeyPath(IDocHostUIHandler* self, LPOLESTR* key, DWORD reserved) { HTML_TRACE("ui_handler_GetOptionKeyPath: Stub [E_NOTIMPL]"); *key = NULL; return E_NOTIMPL; }
static HRESULT STDMETHODCALLTYPE dispatch_GetTypeInfoCount(IDispatch* self, UINT* count) { HTML_TRACE("dispatch_GetTypeInfoCount: [S_OK]"); *count = 0; return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_frame_SetMenu(IOleInPlaceFrame* self, HMENU menu_shared, HOLEMENU old_menu, HWND active_obj) { HTML_TRACE("inplace_frame_SetMenu: Stub [S_OK]"); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_frame_InsertMenus(IOleInPlaceFrame* self, HMENU menu_shared, LPOLEMENUGROUPWIDTHS menu_widths) { HTML_TRACE("inplace_frame_InsertMenus: Stub [E_NOTIMPL]"); return E_NOTIMPL; }
static HRESULT STDMETHODCALLTYPE ui_handler_ResizeBorder(IDocHostUIHandler* self, const RECT* rect, IOleInPlaceUIWindow* inplace_win, BOOL is_frame_win) { HTML_TRACE("ui_handler_ResizeBorder: Stub [S_OK]"); return S_OK; }
static HRESULT STDMETHODCALLTYPE ui_handler_ShowUI(IDocHostUIHandler* self, DWORD id, IOleInPlaceActiveObject* active_obj, IOleCommandTarget* target, IOleInPlaceFrame* inplace_frame, IOleInPlaceUIWindow* doc) { HTML_TRACE("ui_handler_ShowUI: Stub [S_OK]"); return S_OK; }
static HRESULT STDMETHODCALLTYPE ui_handler_GetDropTarget(IDocHostUIHandler* self, IDropTarget* drop_target, IDropTarget** p_drop_target) { HTML_TRACE("ui_handler_GetDropTarget: Stub [E_NOTIMPL]"); *p_drop_target = NULL; return E_NOTIMPL; }
static HRESULT STDMETHODCALLTYPE ui_handler_TranslateUrl(IDocHostUIHandler* self, DWORD reserved, OLECHAR* url, OLECHAR** p_url) { HTML_TRACE("ui_handler_TranslateUrl('%S'): Stub [S_FALSE]", url); *p_url = NULL; return S_FALSE; }
static HRESULT STDMETHODCALLTYPE client_site_GetMoniker(IOleClientSite* self, DWORD assign, DWORD moniker_id, IMoniker** moniker) { HTML_TRACE("client_site_GetMoniker: Stub [E_NOTIMPL]"); *moniker = NULL; return E_NOTIMPL; }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_OnInPlaceActivateEx(IOleInPlaceSiteEx* self, BOOL* no_redraw, DWORD flags) { HTML_TRACE("inplace_site_OnInPlaceActivateEx(): Stub [S_OK]"); *no_redraw = TRUE; return S_OK; }
static HRESULT STDMETHODCALLTYPE ui_handler_FilterDataObject(IDocHostUIHandler* self, IDataObject* obj, IDataObject** p_obj) { HTML_TRACE("ui_handler_FilterDataObject: Stub [S_FALSE]"); *p_obj = NULL; return S_FALSE; }
static HRESULT STDMETHODCALLTYPE dispatch_GetIDsOfNames(IDispatch* self, REFIID riid, LPOLESTR* names, UINT names_count, LCID lcid, DISPID* disp_id) { HTML_TRACE("dispatch_GetIDsOfNames('%S'): Stub [E_NOTIMPL]", names_count > 0 ? names[0] : L""); *disp_id = DISPID_UNKNOWN; return E_NOTIMPL; }
static void html_notify_format(html_t* html) { LRESULT lres; lres = MC_SEND(html->notify_win, WM_NOTIFYFORMAT, html->win, NF_QUERY); html->unicode_notifications = (lres == NFR_UNICODE ? 1 : 0); HTML_TRACE("html_notify_format: Will use %s notifications.", html->unicode_notifications ? "Unicode" : "ANSI"); }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_GetWindowContext(IOleInPlaceSiteEx* self, LPOLEINPLACEFRAME* frame, LPOLEINPLACEUIWINDOW* doc, RECT* rect, RECT* clip_rect, LPOLEINPLACEFRAMEINFO frame_info) { html_t* html; HTML_TRACE("inplace_site_GetWindowContext"); html = MC_HTML_FROM_INPLACE_SITE_EX(self); *frame = &html->inplace_frame; (*frame)->lpVtbl->AddRef(*frame); *doc = NULL; frame_info->fMDIApp = FALSE; frame_info->hwndFrame = GetAncestor(html->win, GA_ROOT); frame_info->haccel = NULL; frame_info->cAccelEntries = 0; GetClientRect(html->win, rect); GetClientRect(html->win, clip_rect); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_OnPosRectChange(IOleInPlaceSiteEx* self, const RECT* rect) { IOleInPlaceObject* inplace; HRESULT hr; html_t* html; HTML_TRACE("inplace_site_OnPosRectChange"); html = MC_HTML_FROM_INPLACE_SITE_EX(self); hr = html->browser_obj->lpVtbl->QueryInterface(html->browser_obj, &IID_IOleInPlaceObject, (void**)&inplace); if(MC_ERR(hr != S_OK || inplace == NULL)) { MC_TRACE("inplace_site_ex_OnPosRectChange: " "QueryInterface(IID_IOleInPlaceObject) failed [0x%lx]", hr); return E_UNEXPECTED; } inplace->lpVtbl->SetObjectRects(inplace, rect, rect); inplace->lpVtbl->Release(inplace); return S_OK; }
static HRESULT STDMETHODCALLTYPE ui_handler_GetHostInfo(IDocHostUIHandler* self, DOCHOSTUIINFO* info) { if(info == NULL || info->cbSize < sizeof(DOCHOSTUIINFO)) { HTML_TRACE("ui_handler_GetHostInfo: info->cbSize == %lu " "[E_UNEXPECTED]", info->cbSize); return E_UNEXPECTED; } /* Host window is responsible for outer border (the host window may use * WS_BORDER and/or WS_EX_CLIENTEDGE) */ info->dwFlags |= DOCHOSTUIFLAG_NO3DOUTERBORDER; /* Check whether the controls on HTML page should use XP theming. */ if(mcIsThemeActive()) { info->dwFlags &= ~DOCHOSTUIFLAG_NOTHEME; info->dwFlags |= DOCHOSTUIFLAG_THEME; } else { info->dwFlags |= DOCHOSTUIFLAG_NOTHEME; info->dwFlags &= ~DOCHOSTUIFLAG_THEME; } return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_frame_EnableModeless(IOleInPlaceFrame* self, BOOL enable) { HTML_TRACE("inplace_frame_EnableModeless(%d): Stub [S_OK]", enable); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_frame_SetStatusText(IOleInPlaceFrame* self, LPCOLESTR status_text) { HTML_TRACE("inplace_frame_SetStatusText: Stub [S_OK]: '%ls'", status_text); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_frame_TranslateAccelerator(IOleInPlaceFrame* self, MSG* msg, WORD id) { HTML_TRACE("inplace_frame_TranslateAccelerator: Stub [E_NOTIMPL]"); return E_NOTIMPL; }
static HRESULT STDMETHODCALLTYPE ui_handler_UpdateUI(IDocHostUIHandler* self) { HTML_TRACE("ui_handler_UpdateUI: Stub [S_OK]"); return S_OK; }
static HRESULT STDMETHODCALLTYPE ui_handler_EnableModeless(IDocHostUIHandler* self, BOOL enable) { HTML_TRACE("ui_handler_EnableModeless(%d): Stub [S_OK]", enable); return S_OK; }
static HRESULT STDMETHODCALLTYPE ui_handler_OnFrameWindowActivate(IDocHostUIHandler* self, BOOL active) { HTML_TRACE("ui_handler_OnFrameWindowActivate(%d): Stub [S_OK]", active); return S_OK; }