23#define NONAMELESSUNION
60 static const char *
const BINDINFOF_str[] = {
62 "BINDINFOF_URLENCODESTGMEDDATA",
63 "BINDINFOF_URLENCODEDEXTRAINFO"
66 static const char *
const BINDVERB_str[] = {
87 bi->stgmedData.tymed, bi->stgmedData.u.hGlobal, bi->stgmedData.pUnkForRelease,
88 bi->grfBindInfoF > BINDINFOF_URLENCODEDEXTRAINFO
89 ?
"unknown" : BINDINFOF_str[bi->grfBindInfoF],
90 bi->dwBindVerb > BINDVERB_CUSTOM
91 ?
"unknown" : BINDVERB_str[bi->dwBindVerb],
93 bi->cbstgmedData, bi->dwOptions, bi->dwOptionsFlags, bi->dwCodePage,
94 bi->securityAttributes.nLength,
95 bi->securityAttributes.lpSecurityDescriptor,
96 bi->securityAttributes.bInheritHandle,
98 bi->pUnk, bi->dwReserved
105 DISPPARAMS dispparams = {&
arg,
NULL, 1, 0};
114 if (statuscode &&
str && *
str) {
127 if(
This->doc_host->frame)
128 IOleInPlaceFrame_SetStatusText(
This->doc_host->frame,
buffer);
155 DISPPARAMS dwl_dp = {
NULL};
156 TRACE(
"(%x)\n", is_downloading);
157 dochost->
busy = is_downloading ? VARIANT_TRUE : VARIANT_FALSE;
173 *
ppv = &
This->IBindStatusCallback_iface;
175 TRACE(
"(%p)->(IID_IBindStatusCallback %p)\n",
This,
ppv);
176 *
ppv = &
This->IBindStatusCallback_iface;
179 *
ppv = &
This->IHttpNegotiate_iface;
181 TRACE(
"(%p)->(IID_IWindowForBindingUI %p)\n",
This,
ppv);
182 *
ppv = &
This->IHttpSecurity_iface;
185 *
ppv = &
This->IHttpSecurity_iface;
215 IOleClientSite_Release(&
This->doc_host->IOleClientSite_iface);
217 IBinding_Release(
This->binding);
235 This->binding = pbind;
236 IBinding_AddRef(
This->binding);
263 hres = IBinding_QueryInterface(binding, &IID_IWinInetHttpInfo, (
void**)&http_info);
269 IWinInetHttpInfo_Release(http_info);
282 TRACE(
"(%p)->(%d %d %d %s)\n",
This, ulProgress, ulProgressMax, ulStatusCode,
285 switch(ulStatusCode) {
286 case BINDSTATUS_REDIRECTING:
288 case BINDSTATUS_BEGINDOWNLOADDATA:
295 case BINDSTATUS_FINDINGRESOURCE:
296 case BINDSTATUS_ENDDOWNLOADDATA:
297 case BINDSTATUS_SENDINGREQUEST:
301 case BINDSTATUS_CONNECTING:
302 case BINDSTATUS_CACHEFILENAMEAVAILABLE:
303 case BINDSTATUS_CLASSIDAVAILABLE:
304 case BINDSTATUS_MIMETYPEAVAILABLE:
305 case BINDSTATUS_BEGINSYNCOPERATION:
306 case BINDSTATUS_ENDSYNCOPERATION:
309 FIXME(
"status code %u\n", ulStatusCode);
317 VARIANT var_status_code, var_frame_name, var_url;
318 DISPPARAMS dispparams;
322 dispparams.cArgs = 5;
323 dispparams.cNamedArgs = 0;
324 dispparams.rgdispidNamedArgs =
NULL;
325 dispparams.rgvarg =
params;
339 hres = IHTMLWindow2_get_name(win2, &
V_BSTR(&var_frame_name));
357 FIXME(
"Navigate to error page\n");
372 if(!
This->doc_host->olecmd)
377 IOleClientSite_Release(&
This->doc_host->IOleClientSite_iface);
380 IBinding_Release(
This->binding);
387 DWORD *grfBINDF, BINDINFO *pbindinfo)
391 TRACE(
"(%p)->(%p %p)\n",
This, grfBINDF, pbindinfo);
393 *grfBINDF = BINDF_ASYNCHRONOUS;
395 if(
This->post_data) {
396 pbindinfo->dwBindVerb = BINDVERB_POST;
398 pbindinfo->stgmedData.tymed = TYMED_HGLOBAL;
399 pbindinfo->stgmedData.u.hGlobal =
This->post_data;
400 pbindinfo->cbstgmedData =
This->post_data_len;
401 pbindinfo->stgmedData.pUnkForRelease = (
IUnknown*)&
This->IBindStatusCallback_iface;
402 IBindStatusCallback_AddRef(&
This->IBindStatusCallback_iface);
412 FIXME(
"(%p)->(%08x %d %p %p)\n",
This, grfBSCF,
dwSize, pformatetc, pstgmed);
449 return IBindStatusCallback_QueryInterface(&
This->IBindStatusCallback_iface,
riid,
ppv);
455 return IBindStatusCallback_AddRef(&
This->IBindStatusCallback_iface);
461 return IBindStatusCallback_Release(&
This->IBindStatusCallback_iface);
483 LPWSTR *pszAdditionalRequestHeaders)
487 debugstr_w(szRequestHeaders), pszAdditionalRequestHeaders);
507 return IBindStatusCallback_QueryInterface(&
This->IBindStatusCallback_iface,
riid,
ppv);
513 return IBindStatusCallback_AddRef(&
This->IBindStatusCallback_iface);
519 return IBindStatusCallback_Release(&
This->IBindStatusCallback_iface);
531 *phwnd =
This->doc_host->frame_hwnd;
562 ret->post_data_len = post_data_len;
565 ret->doc_host = doc_host;
580 VARIANT var_url, var_flags, var_frame_name, var_post_data, var_post_data2, var_headers;
581 DISPPARAMS dispparams;
586 dispparams.cArgs = 7;
587 dispparams.cNamedArgs = 0;
588 dispparams.rgdispidNamedArgs =
NULL;
589 dispparams.rgvarg =
params;
619 V_I4(&var_flags) = 0;
646 static const WCHAR wszURLProtocol[] = {
'U',
'R',
'L',
' ',
'P',
'r',
'o',
't',
'o',
'c',
'o',
'l',0};
663 memset(&exec_info, 0,
sizeof(exec_info));
664 exec_info.
cbSize =
sizeof(exec_info);
684 WARN(
"UrlApplyScheme failed: %08x\n",
hres);
699 IMoniker_AddRef(mon);
706 hres = IMoniker_GetDisplayName(mon, 0,
NULL, &display_name);
708 FIXME(
"GetDisplayName failed: %08x\n",
hres);
709 IMoniker_Release(mon);
716 IMoniker_Release(mon);
727 IUnknown_Release(unk);
731 FIXME(
"BindToObject failed: %08x\n",
hres);
734 IMoniker_Release(mon);
740 VARIANT headers_var, post_data_var;
768 WARN(
"SuprtNavigate failed: %08x\n",
hres);
796 if(!
This->doc_navigate) {
805 TRACE(
"Navigation canceled\n");
810 hres = IUnknown_QueryInterface(
This->doc_navigate, &IID_IHTMLPrivateWindow, (
void**)&priv_window);
813 IHTMLPrivateWindow_Release(priv_window);
815 WARN(
"Could not get IHTMLPrivateWindow iface: %08x\n",
hres);
826 task = heap_alloc_zero(
sizeof(*task));
859 TRACE(
"Navigation canceled\n");
889 FIXME(
"Navigation canceled\n");
894 This->busy = VARIANT_FALSE;
905 IOleInPlaceFrame_EnableModeless(
This->frame,
FALSE);
910 IOleInPlaceFrame_EnableModeless(
This->frame,
TRUE);
912 IBindCtx_Release(bindctx);
946 ULONG post_data_len = 0;
976 This->ready_state = READYSTATE_LOADING;
978 if(
This->doc_navigate) {
990 WARN(
"UrlApplyScheme failed: %08x\n",
hres);
996 post_data_len,
TRUE);
1017 ULONG post_data_len = 0;
1025 hres = IMoniker_GetDisplayName(mon, 0,
NULL, &
url);
1027 FIXME(
"GetDisplayName failed: %08x\n",
hres);
1029 hres = IBindStatusCallback_QueryInterface(
callback, &IID_IHttpNegotiate,
1032 static const WCHAR null_string[] = {0};
1034 IHttpNegotiate_BeginningTransaction(
http_negotiate, null_string, null_string, 0,
1039 memset(&bindinfo, 0,
sizeof(bindinfo));
1040 bindinfo.cbSize =
sizeof(bindinfo);
1044 if(bindinfo.dwBindVerb == BINDVERB_POST) {
1045 post_data_len = bindinfo.cbstgmedData;
1047 post_data = bindinfo.stgmedData.u.hGlobal;
1050 if(
This->doc_navigate) {
1055 IBindStatusCallback_Release(&
bsc->IBindStatusCallback_iface);
1070 static const WCHAR wszAboutBlank[] = {
'a',
'b',
'o',
'u',
't',
':',
'b',
'l',
'a',
'n',
'k',0};
1071 static const WCHAR wszStartPage[] = {
'S',
't',
'a',
'r',
't',
' ',
'P',
'a',
'g',
'e',0};
1072 static const WCHAR wszSubKey[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
1073 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
1074 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\',
1081 size =
sizeof(wszPageName);
1097 if(!
This->doc_navigate) {
1098 FIXME(
"unsupported doc_navigate FALSE\n");
1102 This->travellog.loading_pos = travellog_pos;
1110 hres = IUnknown_QueryInterface(
This->document, &IID_IPersistHistory, (
void**)&persist_history);
1115 IStream_Seek(
entry->stream,
li, STREAM_SEEK_SET,
NULL);
1117 hres = IPersistHistory_LoadHistory(persist_history,
entry->stream,
NULL);
1118 IPersistHistory_Release(persist_history);
1124 if(!
This->travellog.position) {
1125 WARN(
"No history available\n");
1134 if(
This->travellog.position >=
This->travellog.length) {
1135 WARN(
"No history available\n");
1144 FIXME(
"semi-stub\n");
1161 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
1167 return IUnknown_AddRef(
This->outer);
1173 return IUnknown_Release(
This->outer);
1199 TRACE(
"(%p)->(%08x %p %p %p)\n",
This, grfHLNF, pbc, pibsc, pihlNavigate);
1202 FIXME(
"unsupported grfHLNF=%08x\n", grfHLNF);
1206 IHlink_GetMonikerReference(pihlNavigate, 1, &mon, &
location);
1215 if(grfHLNF & HLNF_OPENINNEWWINDOW) {
1216 FIXME(
"Not supported HLNF_OPENINNEWWINDOW\n");
1260 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
1266 return IUnknown_AddRef(
This->outer);
1272 return IUnknown_Release(
This->outer);
1285 FIXME(
"(%p)->(%p)\n",
This, ppszFrameName);
1292 FIXME(
"(%p)->(%p)\n",
This, ppunkParent);
1301 ppunkContextFrame,
dwFlags, ppunkTargetFrame);
1315 FIXME(
"(%p)->(%p)\n",
This, ppszFrameSrc);
1322 FIXME(
"(%p)->(%p)\n",
This, ppContainer);
1350 FIXME(
"(%p)->(%p %p)\n",
This, pdwWidth, pdwHeight);
1357 FIXME(
"(%p)->(%u %p)\n",
This, cLength, pulData);
1364 FIXME(
"(%p)->(%p)\n",
This, pUnkChildFrame);
1371 FIXME(
"(%p)->(%p)\n",
This, pUnkChildFrame);
1403 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
1409 return IUnknown_AddRef(
This->outer);
1415 return IUnknown_Release(
This->outer);
1428 FIXME(
"(%p)->(%p)\n",
This, ppszFrameName);
1435 FIXME(
"(%p)->(%p)\n",
This, ppunkParent);
1456 FIXME(
"(%p)->(%p)\n",
This, ppContainer);
1484 FIXME(
"(%p)->(%p %p)\n",
This, pdwWidth, pdwHeight);
1528 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
1534 return IUnknown_AddRef(
This->outer);
1540 return IUnknown_Release(
This->outer);
1562 FIXME(
"(%p)->(%p)\n",
This, pUnkChildFrame);
1569 FIXME(
"(%p)->(%p)\n",
This, pUnkChildFrame);
1577 FIXME(
"(%p)->(%x %p %p %s %s %s)\n",
This, grfHLNF, pbc, pibsc,
debugstr_w(pszTargetName),
1585 FIXME(
"(%p)->(%d %p)\n",
This, dwID, ppunkBrowser);
1596 TRACE(
"(%p)->(%x %p %p %s %p %s)\n",
This, grfHLNF, pbc, pibsc,
debugstr_w(pszTargetName),
1610 IMoniker_Release(mon);
1635 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
1641 return IUnknown_AddRef(
This->outer);
1647 return IUnknown_Release(
This->outer);
1670 *
ppv = &
This->IHlinkFrame_iface;
1673 *
ppv = &
This->ITargetFrame_iface;
1676 *
ppv = &
This->ITargetFrame2_iface;
1679 *
ppv = &
This->ITargetFramePriv2_iface;
1681 TRACE(
"(%p)->(IID_ITargetFramePriv2 %p)\n",
This,
ppv);
1682 *
ppv = &
This->ITargetFramePriv2_iface;
1684 TRACE(
"(%p)->(IID_IWebBrowserPriv2IE9 %p)\n",
This,
ppv);
1685 *
ppv = &
This->IWebBrowserPriv2IE9_iface;
1702 This->outer = outer;
1703 This->doc_host = doc_host;
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static const TCHAR empty_str[]
#define RegCloseKey(hKey)
static const WCHAR dwWidth[]
static const WCHAR dwHeight[]
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
static WCHAR * heap_strdupW(const WCHAR *str)
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
#define IDS_STATUSFMT_MAXLEN
#define IDS_STATUSFMT_FIRST
HRESULT WINAPI PathCreateFromUrlW(const WCHAR *url, WCHAR *path, DWORD *pcchPath, DWORD dwReserved)
HRESULT WINAPI UrlApplySchemeW(const WCHAR *url, WCHAR *out, DWORD *length, DWORD flags)
BOOL WINAPI PathIsURLW(const WCHAR *path)
INT WINAPI DECLSPEC_HOTPATCH LoadStringW(HINSTANCE instance, UINT resource_id, LPWSTR buffer, INT buflen)
HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY *psa, UINT nDim, LONG *plUbound)
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
UINT WINAPI SafeArrayGetElemsize(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
#define INTERNET_MAX_URL_LENGTH
void set_doc_state(DocHost *This, READYSTATE doc_state)
void push_dochost_task(DocHost *This, task_header_t *task, task_proc_t proc, task_destr_t destr, BOOL send)
void on_commandstate_change(DocHost *doc_host, LONG command, BOOL enable)
void deactivate_document(DocHost *This)
HRESULT dochost_object_available(DocHost *This, IUnknown *doc)
void abort_dochost_tasks(DocHost *This, task_proc_t proc)
void create_doc_view_hwnd(DocHost *This)
void update_navigation_commands(DocHost *dochost)
#define DISPID_BEFORENAVIGATE2
GLuint GLuint GLsizei GLenum type
GLenum const GLfloat * params
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
HRESULT navigate_url(DocHost *This, LPCWSTR url, const VARIANT *Flags, const VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
static HRESULT WINAPI TargetFramePriv2_FindFrameInContext(ITargetFramePriv2 *iface, LPCWSTR pszTargetName, IUnknown *punkContextFrame, DWORD dwFlags, IUnknown **ppunkTargetFrame)
static HRESULT WINAPI TargetFrame2_GetFrameName(ITargetFrame2 *iface, LPWSTR *ppszFrameName)
static HRESULT WINAPI TargetFrame_GetFrameName(ITargetFrame *iface, LPWSTR *ppszFrameName)
static HRESULT WINAPI HlinkFrame_UpdateHlink(IHlinkFrame *iface, ULONG uHLID, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
static ULONG WINAPI BindStatusCallback_AddRef(IBindStatusCallback *iface)
static void doc_navigate_task_destr(task_header_t *t)
static BOOL try_application_url(LPCWSTR url)
static HRESULT navigate_bsc(DocHost *This, BindStatusCallback *bsc, IMoniker *mon)
static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, IHlink *pihlNavigate)
static HRESULT WINAPI BindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
static const ITargetFrame2Vtbl TargetFrame2Vtbl
static void html_window_navigate(DocHost *This, IHTMLPrivateWindow *window, BSTR url, BSTR headers, SAFEARRAY *post_data)
static HRESULT WINAPI BindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
static void on_before_navigate2(DocHost *This, LPCWSTR url, SAFEARRAY *post_data, LPWSTR headers, VARIANT_BOOL *cancel)
void handle_navigation_error(DocHost *doc_host, HRESULT hres, BSTR url, IHTMLWindow2 *win2)
static HRESULT WINAPI TargetFrame_RemoteNavigate(ITargetFrame *iface, ULONG cLength, ULONG *pulData)
static HRESULT WINAPI BindStatusCallback_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
static HRESULT WINAPI HttpSecurity_QueryInterface(IHttpSecurity *iface, REFIID riid, void **ppv)
static HRESULT WINAPI TargetFrame_OnChildFrameDeactivate(ITargetFrame *iface, IUnknown *pUnkChildFrame)
static HRESULT WINAPI WebBrowserPriv2IE9_NavigateWithBindCtx2(IWebBrowserPriv2IE9 *iface, IUri *uri, VARIANT *flags, VARIANT *target_frame, VARIANT *post_data, VARIANT *headers, IBindCtx *bind_ctx, LPOLESTR url_fragment, DWORD unused)
static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface, IHlinkBrowseContext *pihlbc)
static HRESULT WINAPI TargetFrame2_GetFrameOptions(ITargetFrame2 *iface, DWORD *pdwFlags)
static HRESULT WINAPI TargetFrame2_QueryInterface(ITargetFrame2 *iface, REFIID riid, void **ppv)
static void dump_BINDINFO(BINDINFO *bi)
static BindStatusCallback * create_callback(DocHost *doc_host, LPCWSTR url, PBYTE post_data, ULONG post_data_len, LPCWSTR headers)
static ULONG WINAPI HttpNegotiate_AddRef(IHttpNegotiate *iface)
static BindStatusCallback * impl_from_IHttpSecurity(IHttpSecurity *iface)
static HRESULT async_doc_navigate(DocHost *This, LPCWSTR url, LPCWSTR headers, PBYTE post_data, ULONG post_data_size, BOOL async_notif)
static HRESULT create_moniker(LPCWSTR url, IMoniker **mon)
static ULONG WINAPI TargetFrame_AddRef(ITargetFrame *iface)
static HRESULT WINAPI TargetFrame2_SetFrameMargins(ITargetFrame2 *iface, DWORD dwWidth, DWORD dwHeight)
static HRESULT WINAPI HlinkFrame_QueryInterface(IHlinkFrame *iface, REFIID riid, void **ppv)
static HRESULT WINAPI TargetFrame_OnChildFrameActivate(ITargetFrame *iface, IUnknown *pUnkChildFrame)
static HRESULT WINAPI HttpSecurity_GetWindow(IHttpSecurity *iface, REFGUID rguidReason, HWND *phwnd)
static HRESULT WINAPI TargetFrame2_SetFrameSrc(ITargetFrame2 *iface, LPCWSTR pszFrameSrc)
static const IWebBrowserPriv2IE9Vtbl WebBrowserPriv2IE9Vtbl
static HRESULT WINAPI TargetFrame2_GetFrameMargins(ITargetFrame2 *iface, DWORD *pdwWidth, DWORD *pdwHeight)
static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface)
static HRESULT WINAPI TargetFrame_QueryInterface(ITargetFrame *iface, REFIID riid, void **ppv)
static HRESULT WINAPI TargetFrame_GetFramesContainer(ITargetFrame *iface, IOleContainer **ppContainer)
static HRESULT navigate_history(DocHost *This, unsigned travellog_pos)
static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
static const IBindStatusCallbackVtbl BindStatusCallbackVtbl
static HRESULT WINAPI BindStatusCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
static HRESULT WINAPI TargetFramePriv2_NavigateHack(ITargetFramePriv2 *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, LPCWSTR pszTargetName, LPCWSTR pszUrl, LPCWSTR pszLocation)
static const ITargetFramePriv2Vtbl TargetFramePriv2Vtbl
static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved)
static HRESULT WINAPI HttpNegotiate_BeginningTransaction(IHttpNegotiate *iface, LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders)
static ULONG WINAPI HttpSecurity_Release(IHttpSecurity *iface)
static const IHlinkFrameVtbl HlinkFrameVtbl
HRESULT get_location_url(DocHost *This, BSTR *ret)
static ULONG WINAPI HlinkFrame_Release(IHlinkFrame *iface)
HRESULT go_home(DocHost *This)
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface, IHlinkBrowseContext **ppihlbc)
static HRESULT WINAPI HttpSecurity_OnSecurityProblem(IHttpSecurity *iface, DWORD dwProblem)
static void doc_navigate_proc(DocHost *This, task_header_t *t)
static ULONG WINAPI TargetFramePriv2_Release(ITargetFramePriv2 *iface)
static ULONG WINAPI TargetFrame2_Release(ITargetFrame2 *iface)
static HRESULT WINAPI TargetFrame2_GetFrameSrc(ITargetFrame2 *iface, LPWSTR *ppszFrameSrc)
static const ITargetFrameVtbl TargetFrameVtbl
static void navigate_bsc_proc(DocHost *This, task_header_t *t)
static void set_status_text(BindStatusCallback *This, ULONG statuscode, LPCWSTR str)
static ULONG WINAPI HttpNegotiate_Release(IHttpNegotiate *iface)
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
static HRESULT WINAPI TargetFrame_GetFrameSrc(ITargetFrame *iface, LPWSTR *ppszFrameSrc)
static const IHttpSecurityVtbl HttpSecurityVtbl
static HRESULT WINAPI TargetFrame2_GetTargetAlias(ITargetFrame2 *iface, LPCWSTR pszTargetName, LPWSTR *ppszTargetAlias)
static HRESULT WINAPI TargetFramePriv2_OnChildFrameDeactivate(ITargetFramePriv2 *iface, IUnknown *pUnkChildFrame)
static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
static HRESULT WINAPI TargetFramePriv2_QueryInterface(ITargetFramePriv2 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI TargetFrame_SetFrameMargins(ITargetFrame *iface, DWORD dwWidth, DWORD dwHeight)
static const WCHAR emptyW[]
static HRESULT WINAPI HttpNegotiate_OnResponse(IHttpNegotiate *iface, DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders, LPWSTR *pszAdditionalRequestHeaders)
static HRESULT WINAPI TargetFramePriv2_AggregatedNavigation2(ITargetFramePriv2 *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, LPCWSTR pszTargetName, IUri *pUri, LPCWSTR pszLocation)
HRESULT go_back(DocHost *This)
static HRESULT WINAPI TargetFrame_SetFrameOptions(ITargetFrame *iface, DWORD dwFlags)
static HRESULT WINAPI WebBrowserPriv2IE9_QueryInterface(IWebBrowserPriv2IE9 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI TargetFramePriv2_OnChildFrameActivate(ITargetFramePriv2 *iface, IUnknown *pUnkChildFrame)
static HRESULT WINAPI TargetFrame2_GetFramesContainer(ITargetFrame2 *iface, IOleContainer **ppContainer)
static HRESULT WINAPI TargetFramePriv2_FindBrowserByIndex(ITargetFramePriv2 *iface, DWORD dwID, IUnknown **ppunkBrowser)
static DWORD get_http_status_code(IBinding *binding)
static HRESULT WINAPI HttpNegotiate_QueryInterface(IHttpNegotiate *iface, REFIID riid, void **ppv)
static HlinkFrame * impl_from_IWebBrowserPriv2IE9(IWebBrowserPriv2IE9 *iface)
static const IHttpNegotiateVtbl HttpNegotiateVtbl
static ULONG WINAPI WebBrowserPriv2IE9_Release(IWebBrowserPriv2IE9 *iface)
static HRESULT WINAPI TargetFrame_FindFrame(ITargetFrame *iface, LPCWSTR pszTargetName, IUnknown *ppunkContextFrame, DWORD dwFlags, IUnknown **ppunkTargetFrame)
static HRESULT WINAPI TargetFrame_GetParentFrame(ITargetFrame *iface, IUnknown **ppunkParent)
void notify_download_state(DocHost *dochost, BOOL is_downloading)
static HRESULT WINAPI TargetFrame_SetFrameName(ITargetFrame *iface, LPCWSTR pszFrameName)
static HRESULT WINAPI TargetFrame_SetFrameSrc(ITargetFrame *iface, LPCWSTR pszFrameSrc)
static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static ULONG WINAPI TargetFrame2_AddRef(ITargetFrame2 *iface)
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
static HRESULT WINAPI TargetFrame2_GetParentFrame(ITargetFrame2 *iface, IUnknown **ppunkParent)
void HlinkFrame_Init(HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
static ULONG WINAPI WebBrowserPriv2IE9_AddRef(IWebBrowserPriv2IE9 *iface)
static HRESULT WINAPI TargetFrame_GetFrameMargins(ITargetFrame *iface, DWORD *pdwWidth, DWORD *pdwHeight)
static BindStatusCallback * impl_from_IHttpNegotiate(IHttpNegotiate *iface)
static ULONG WINAPI TargetFrame_Release(ITargetFrame *iface)
static HRESULT WINAPI TargetFrame2_SetFrameName(ITargetFrame2 *iface, LPCWSTR pszFrameName)
static ULONG WINAPI TargetFramePriv2_AddRef(ITargetFramePriv2 *iface)
static void navigate_bsc_task_destr(task_header_t *t)
static ULONG WINAPI HlinkFrame_AddRef(IHlinkFrame *iface)
static HRESULT WINAPI TargetFrame2_FindFrame(ITargetFrame2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pbind)
static HRESULT WINAPI TargetFramePriv2_FindFrameDownwards(ITargetFramePriv2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
static HRESULT navigate_hlink(DocHost *This, IMoniker *mon, IBindCtx *bindctx, IBindStatusCallback *callback)
static ULONG WINAPI HttpSecurity_AddRef(IHttpSecurity *iface)
static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
HRESULT go_forward(DocHost *This)
static HRESULT WINAPI TargetFrame2_SetFrameOptions(ITargetFrame2 *iface, DWORD dwFlags)
static HRESULT WINAPI TargetFrame_GetFrameOptions(ITargetFrame *iface, DWORD *pdwFlags)
HINSTANCE ieframe_instance
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
#define memcpy(s1, s2, n)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static IPrintDialogCallback callback
static const char * debugstr_variant(const VARIANT *var)
static IHTMLWindow2 * window
static const CHAR post_data[]
static IHttpNegotiate2 http_negotiate
static IBindStatusCallbackEx bsc
static BOOL bind_to_object
static const WCHAR SZ_HTML_CLIENTSITE_OBJECTPARAM[]
interface IHTMLWindow2 IHTMLWindow2
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
interface IBindCtx * LPBC
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define IsEqualGUID(rguid1, rguid2)
vector< Header * > headers
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
#define URL_APPLY_GUESSSCHEME
#define URL_APPLY_DEFAULT
#define URL_APPLY_GUESSFILE
TCHAR file_path[MAX_PATH]
IBindStatusCallback IBindStatusCallback_iface
IHttpSecurity IHttpSecurity_iface
IHttpNegotiate IHttpNegotiate_iface
ConnectionPointContainer cps
IOleClientSite IOleClientSite_iface
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
HRESULT WINAPI CreateURLMonikerEx2(IMoniker *pmkContext, IUri *pUri, IMoniker **ppmk, DWORD dwFlags)
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
#define DISPID_NAVIGATEERROR
#define DISPID_DOWNLOADCOMPLETE
#define DISPID_DOWNLOADBEGIN
#define DISPID_STATUSTEXTCHANGE
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define HTTP_QUERY_FLAG_NUMBER
#define HTTP_QUERY_STATUS_CODE
#define HKEY_CURRENT_USER
#define HKEY_CLASSES_ROOT
_Must_inspect_result_ _In_ ULONG Flags