ReactOS  0.4.14-dev-583-g2a1ba2c
navigate.c File Reference
#include "ieframe.h"
#include "exdispid.h"
#include "shellapi.h"
#include "winreg.h"
#include "shlwapi.h"
#include "wininet.h"
#include "mshtml.h"
#include "perhist.h"
#include "resource.h"
#include "wine/debug.h"
Include dependency graph for navigate.c:

Go to the source code of this file.

Classes

struct  BindStatusCallback
 
struct  task_doc_navigate_t
 
struct  task_navigate_bsc_t
 

Macros

#define NONAMELESSUNION
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (ieframe)
 
static void dump_BINDINFO (BINDINFO *bi)
 
static void set_status_text (BindStatusCallback *This, ULONG statuscode, LPCWSTR str)
 
HRESULT set_dochost_url (DocHost *This, const WCHAR *url)
 
void notify_download_state (DocHost *dochost, BOOL is_downloading)
 
static BindStatusCallbackimpl_from_IBindStatusCallback (IBindStatusCallback *iface)
 
static HRESULT WINAPI BindStatusCallback_QueryInterface (IBindStatusCallback *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI BindStatusCallback_AddRef (IBindStatusCallback *iface)
 
static ULONG WINAPI BindStatusCallback_Release (IBindStatusCallback *iface)
 
static HRESULT WINAPI BindStatusCallback_OnStartBinding (IBindStatusCallback *iface, DWORD dwReserved, IBinding *pbind)
 
static HRESULT WINAPI BindStatusCallback_GetPriority (IBindStatusCallback *iface, LONG *pnPriority)
 
static HRESULT WINAPI BindStatusCallback_OnLowResource (IBindStatusCallback *iface, DWORD reserved)
 
static DWORD get_http_status_code (IBinding *binding)
 
static HRESULT WINAPI BindStatusCallback_OnProgress (IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
 
void handle_navigation_error (DocHost *doc_host, HRESULT hres, BSTR url, IHTMLWindow2 *win2)
 
static HRESULT WINAPI BindStatusCallback_OnStopBinding (IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
 
static HRESULT WINAPI BindStatusCallback_GetBindInfo (IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
 
static HRESULT WINAPI BindStatusCallback_OnDataAvailable (IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
 
static HRESULT WINAPI BindStatusCallback_OnObjectAvailable (IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
 
static BindStatusCallbackimpl_from_IHttpNegotiate (IHttpNegotiate *iface)
 
static HRESULT WINAPI HttpNegotiate_QueryInterface (IHttpNegotiate *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HttpNegotiate_AddRef (IHttpNegotiate *iface)
 
static ULONG WINAPI HttpNegotiate_Release (IHttpNegotiate *iface)
 
static HRESULT WINAPI HttpNegotiate_BeginningTransaction (IHttpNegotiate *iface, LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders)
 
static HRESULT WINAPI HttpNegotiate_OnResponse (IHttpNegotiate *iface, DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders, LPWSTR *pszAdditionalRequestHeaders)
 
static BindStatusCallbackimpl_from_IHttpSecurity (IHttpSecurity *iface)
 
static HRESULT WINAPI HttpSecurity_QueryInterface (IHttpSecurity *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HttpSecurity_AddRef (IHttpSecurity *iface)
 
static ULONG WINAPI HttpSecurity_Release (IHttpSecurity *iface)
 
static HRESULT WINAPI HttpSecurity_GetWindow (IHttpSecurity *iface, REFGUID rguidReason, HWND *phwnd)
 
static HRESULT WINAPI HttpSecurity_OnSecurityProblem (IHttpSecurity *iface, DWORD dwProblem)
 
static BindStatusCallbackcreate_callback (DocHost *doc_host, LPCWSTR url, PBYTE post_data, ULONG post_data_len, LPCWSTR headers)
 
static void on_before_navigate2 (DocHost *This, LPCWSTR url, SAFEARRAY *post_data, LPWSTR headers, VARIANT_BOOL *cancel)
 
static BOOL try_application_url (LPCWSTR url)
 
static HRESULT create_moniker (LPCWSTR url, IMoniker **mon)
 
static HRESULT bind_to_object (DocHost *This, IMoniker *mon, LPCWSTR url, IBindCtx *bindctx, IBindStatusCallback *callback)
 
static void html_window_navigate (DocHost *This, IHTMLPrivateWindow *window, BSTR url, BSTR headers, SAFEARRAY *post_data)
 
static void doc_navigate_task_destr (task_header_t *t)
 
static void doc_navigate_proc (DocHost *This, task_header_t *t)
 
static HRESULT async_doc_navigate (DocHost *This, LPCWSTR url, LPCWSTR headers, PBYTE post_data, ULONG post_data_size, BOOL async_notif)
 
static HRESULT navigate_bsc (DocHost *This, BindStatusCallback *bsc, IMoniker *mon)
 
static void navigate_bsc_task_destr (task_header_t *t)
 
static void navigate_bsc_proc (DocHost *This, task_header_t *t)
 
HRESULT navigate_url (DocHost *This, LPCWSTR url, const VARIANT *Flags, const VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
 
static HRESULT navigate_hlink (DocHost *This, IMoniker *mon, IBindCtx *bindctx, IBindStatusCallback *callback)
 
HRESULT go_home (DocHost *This)
 
static HRESULT navigate_history (DocHost *This, unsigned travellog_pos)
 
HRESULT go_back (DocHost *This)
 
HRESULT go_forward (DocHost *This)
 
HRESULT get_location_url (DocHost *This, BSTR *ret)
 
static HlinkFrameimpl_from_IHlinkFrame (IHlinkFrame *iface)
 
static HRESULT WINAPI HlinkFrame_QueryInterface (IHlinkFrame *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HlinkFrame_AddRef (IHlinkFrame *iface)
 
static ULONG WINAPI HlinkFrame_Release (IHlinkFrame *iface)
 
static HRESULT WINAPI HlinkFrame_SetBrowseContext (IHlinkFrame *iface, IHlinkBrowseContext *pihlbc)
 
static HRESULT WINAPI HlinkFrame_GetBrowseContext (IHlinkFrame *iface, IHlinkBrowseContext **ppihlbc)
 
static HRESULT WINAPI HlinkFrame_Navigate (IHlinkFrame *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, IHlink *pihlNavigate)
 
static HRESULT WINAPI HlinkFrame_OnNavigate (IHlinkFrame *iface, DWORD grfHLNF, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved)
 
static HRESULT WINAPI HlinkFrame_UpdateHlink (IHlinkFrame *iface, ULONG uHLID, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
 
static HlinkFrameimpl_from_ITargetFrame (ITargetFrame *iface)
 
static HRESULT WINAPI TargetFrame_QueryInterface (ITargetFrame *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI TargetFrame_AddRef (ITargetFrame *iface)
 
static ULONG WINAPI TargetFrame_Release (ITargetFrame *iface)
 
static HRESULT WINAPI TargetFrame_SetFrameName (ITargetFrame *iface, LPCWSTR pszFrameName)
 
static HRESULT WINAPI TargetFrame_GetFrameName (ITargetFrame *iface, LPWSTR *ppszFrameName)
 
static HRESULT WINAPI TargetFrame_GetParentFrame (ITargetFrame *iface, IUnknown **ppunkParent)
 
static HRESULT WINAPI TargetFrame_FindFrame (ITargetFrame *iface, LPCWSTR pszTargetName, IUnknown *ppunkContextFrame, DWORD dwFlags, IUnknown **ppunkTargetFrame)
 
static HRESULT WINAPI TargetFrame_SetFrameSrc (ITargetFrame *iface, LPCWSTR pszFrameSrc)
 
static HRESULT WINAPI TargetFrame_GetFrameSrc (ITargetFrame *iface, LPWSTR *ppszFrameSrc)
 
static HRESULT WINAPI TargetFrame_GetFramesContainer (ITargetFrame *iface, IOleContainer **ppContainer)
 
static HRESULT WINAPI TargetFrame_SetFrameOptions (ITargetFrame *iface, DWORD dwFlags)
 
static HRESULT WINAPI TargetFrame_GetFrameOptions (ITargetFrame *iface, DWORD *pdwFlags)
 
static HRESULT WINAPI TargetFrame_SetFrameMargins (ITargetFrame *iface, DWORD dwWidth, DWORD dwHeight)
 
static HRESULT WINAPI TargetFrame_GetFrameMargins (ITargetFrame *iface, DWORD *pdwWidth, DWORD *pdwHeight)
 
static HRESULT WINAPI TargetFrame_RemoteNavigate (ITargetFrame *iface, ULONG cLength, ULONG *pulData)
 
static HRESULT WINAPI TargetFrame_OnChildFrameActivate (ITargetFrame *iface, IUnknown *pUnkChildFrame)
 
static HRESULT WINAPI TargetFrame_OnChildFrameDeactivate (ITargetFrame *iface, IUnknown *pUnkChildFrame)
 
static HlinkFrameimpl_from_ITargetFrame2 (ITargetFrame2 *iface)
 
static HRESULT WINAPI TargetFrame2_QueryInterface (ITargetFrame2 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI TargetFrame2_AddRef (ITargetFrame2 *iface)
 
static ULONG WINAPI TargetFrame2_Release (ITargetFrame2 *iface)
 
static HRESULT WINAPI TargetFrame2_SetFrameName (ITargetFrame2 *iface, LPCWSTR pszFrameName)
 
static HRESULT WINAPI TargetFrame2_GetFrameName (ITargetFrame2 *iface, LPWSTR *ppszFrameName)
 
static HRESULT WINAPI TargetFrame2_GetParentFrame (ITargetFrame2 *iface, IUnknown **ppunkParent)
 
static HRESULT WINAPI TargetFrame2_SetFrameSrc (ITargetFrame2 *iface, LPCWSTR pszFrameSrc)
 
static HRESULT WINAPI TargetFrame2_GetFrameSrc (ITargetFrame2 *iface, LPWSTR *ppszFrameSrc)
 
static HRESULT WINAPI TargetFrame2_GetFramesContainer (ITargetFrame2 *iface, IOleContainer **ppContainer)
 
static HRESULT WINAPI TargetFrame2_SetFrameOptions (ITargetFrame2 *iface, DWORD dwFlags)
 
static HRESULT WINAPI TargetFrame2_GetFrameOptions (ITargetFrame2 *iface, DWORD *pdwFlags)
 
static HRESULT WINAPI TargetFrame2_SetFrameMargins (ITargetFrame2 *iface, DWORD dwWidth, DWORD dwHeight)
 
static HRESULT WINAPI TargetFrame2_GetFrameMargins (ITargetFrame2 *iface, DWORD *pdwWidth, DWORD *pdwHeight)
 
static HRESULT WINAPI TargetFrame2_FindFrame (ITargetFrame2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
 
static HRESULT WINAPI TargetFrame2_GetTargetAlias (ITargetFrame2 *iface, LPCWSTR pszTargetName, LPWSTR *ppszTargetAlias)
 
static HlinkFrameimpl_from_ITargetFramePriv2 (ITargetFramePriv2 *iface)
 
static HRESULT WINAPI TargetFramePriv2_QueryInterface (ITargetFramePriv2 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI TargetFramePriv2_AddRef (ITargetFramePriv2 *iface)
 
static ULONG WINAPI TargetFramePriv2_Release (ITargetFramePriv2 *iface)
 
static HRESULT WINAPI TargetFramePriv2_FindFrameDownwards (ITargetFramePriv2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
 
static HRESULT WINAPI TargetFramePriv2_FindFrameInContext (ITargetFramePriv2 *iface, LPCWSTR pszTargetName, IUnknown *punkContextFrame, DWORD dwFlags, IUnknown **ppunkTargetFrame)
 
static HRESULT WINAPI TargetFramePriv2_OnChildFrameActivate (ITargetFramePriv2 *iface, IUnknown *pUnkChildFrame)
 
static HRESULT WINAPI TargetFramePriv2_OnChildFrameDeactivate (ITargetFramePriv2 *iface, IUnknown *pUnkChildFrame)
 
static HRESULT WINAPI TargetFramePriv2_NavigateHack (ITargetFramePriv2 *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, LPCWSTR pszTargetName, LPCWSTR pszUrl, LPCWSTR pszLocation)
 
static HRESULT WINAPI TargetFramePriv2_FindBrowserByIndex (ITargetFramePriv2 *iface, DWORD dwID, IUnknown **ppunkBrowser)
 
static HRESULT WINAPI TargetFramePriv2_AggregatedNavigation2 (ITargetFramePriv2 *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, LPCWSTR pszTargetName, IUri *pUri, LPCWSTR pszLocation)
 
static HlinkFrameimpl_from_IWebBrowserPriv2IE9 (IWebBrowserPriv2IE9 *iface)
 
static HRESULT WINAPI WebBrowserPriv2IE9_QueryInterface (IWebBrowserPriv2IE9 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI WebBrowserPriv2IE9_AddRef (IWebBrowserPriv2IE9 *iface)
 
static ULONG WINAPI WebBrowserPriv2IE9_Release (IWebBrowserPriv2IE9 *iface)
 
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)
 
BOOL HlinkFrame_QI (HlinkFrame *This, REFIID riid, void **ppv)
 
void HlinkFrame_Init (HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
 

Variables

static const WCHAR emptyW [] = {0}
 
static const IBindStatusCallbackVtbl BindStatusCallbackVtbl
 
static const IHttpNegotiateVtbl HttpNegotiateVtbl
 
static const IHttpSecurityVtbl HttpSecurityVtbl
 
static const IHlinkFrameVtbl HlinkFrameVtbl
 
static const ITargetFrameVtbl TargetFrameVtbl
 
static const ITargetFrame2Vtbl TargetFrame2Vtbl
 
static const ITargetFramePriv2Vtbl TargetFramePriv2Vtbl
 
static const IWebBrowserPriv2IE9Vtbl WebBrowserPriv2IE9Vtbl
 

Macro Definition Documentation

◆ NONAMELESSUNION

#define NONAMELESSUNION

Definition at line 23 of file navigate.c.

Function Documentation

◆ async_doc_navigate()

static HRESULT async_doc_navigate ( DocHost This,
LPCWSTR  url,
LPCWSTR  headers,
PBYTE  post_data,
ULONG  post_data_size,
BOOL  async_notif 
)
static

Definition at line 819 of file navigate.c.

821 {
822  task_doc_navigate_t *task;
823 
824  TRACE("%s\n", debugstr_w(url));
825 
826  task = heap_alloc_zero(sizeof(*task));
827  if(!task)
828  return E_OUTOFMEMORY;
829 
830  task->url = SysAllocString(url);
831  if(!task->url) {
833  return E_OUTOFMEMORY;
834  }
835 
836  if(headers) {
837  task->headers = SysAllocString(headers);
838  if(!task->headers) {
840  return E_OUTOFMEMORY;
841  }
842  }
843 
844  if(post_data) {
845  task->post_data = SafeArrayCreateVector(VT_UI1, 0, post_data_size);
846  if(!task->post_data) {
848  return E_OUTOFMEMORY;
849  }
850 
851  memcpy(task->post_data->pvData, post_data, post_data_size);
852  }
853 
854  if(!async_notif) {
855  VARIANT_BOOL cancel = VARIANT_FALSE;
856 
857  on_before_navigate2(This, task->url, task->post_data, task->headers, &cancel);
858  if(cancel) {
859  TRACE("Navigation canceled\n");
861  return S_OK;
862  }
863  }
864 
865  task->async_notif = async_notif;
868  return S_OK;
869 }
task_header_t header
Definition: navigate.c:772
static void on_before_navigate2(DocHost *This, LPCWSTR url, SAFEARRAY *post_data, LPWSTR headers, VARIANT_BOOL *cancel)
Definition: navigate.c:578
vector< Header * > headers
Definition: sdkparse.cpp:39
short VARIANT_BOOL
Definition: compat.h:1939
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define debugstr_w
Definition: kernel32.h:32
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
#define TRACE(s)
Definition: solgame.cpp:4
static const WCHAR url[]
Definition: encode.c:1432
PVOID pvData
Definition: compat.h:2008
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
Definition: safearray.c:677
static const CHAR post_data[]
Definition: protocol.c:217
void push_dochost_task(DocHost *This, task_header_t *task, task_proc_t proc, task_destr_t destr, BOOL send)
Definition: dochost.c:39
static void doc_navigate_proc(DocHost *This, task_header_t *t)
Definition: navigate.c:790
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
SAFEARRAY * post_data
Definition: navigate.c:775
static void doc_navigate_task_destr(task_header_t *t)
Definition: navigate.c:779
#define S_OK
Definition: intsafe.h:59
void abort_dochost_tasks(DocHost *This, task_proc_t proc)
Definition: dochost.c:70

Referenced by navigate_history(), navigate_hlink(), and navigate_url().

◆ bind_to_object()

static HRESULT bind_to_object ( DocHost This,
IMoniker mon,
LPCWSTR  url,
IBindCtx bindctx,
IBindStatusCallback callback 
)
static

Definition at line 691 of file navigate.c.

693 {
694  IUnknown *unk = NULL;
695  WCHAR *display_name;
696  HRESULT hres;
697 
698  if(mon) {
699  IMoniker_AddRef(mon);
700  }else {
701  hres = create_moniker(url, &mon);
702  if(FAILED(hres))
703  return hres;
704  }
705 
706  hres = IMoniker_GetDisplayName(mon, 0, NULL, &display_name);
707  if(FAILED(hres)) {
708  FIXME("GetDisplayName failed: %08x\n", hres);
709  IMoniker_Release(mon);
710  return hres;
711  }
712 
713  hres = set_dochost_url(This, display_name);
714  CoTaskMemFree(display_name);
715  if(FAILED(hres)) {
716  IMoniker_Release(mon);
717  return hres;
718  }
719 
720  IBindCtx_RegisterObjectParam(bindctx, (LPOLESTR)SZ_HTML_CLIENTSITE_OBJECTPARAM,
721  (IUnknown*)&This->IOleClientSite_iface);
722 
723  hres = IMoniker_BindToObject(mon, bindctx, NULL, &IID_IUnknown, (void**)&unk);
724  if(SUCCEEDED(hres)) {
725  hres = S_OK;
726  if(unk)
727  IUnknown_Release(unk);
728  }else if(try_application_url(url)) {
729  hres = S_OK;
730  }else {
731  FIXME("BindToObject failed: %08x\n", hres);
732  }
733 
734  IMoniker_Release(mon);
735  return S_OK;
736 }
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:420
static HRESULT create_moniker(LPCWSTR url, IMoniker **mon)
Definition: navigate.c:671
static BOOL try_application_url(LPCWSTR url)
Definition: navigate.c:638
static LPOLESTR
Definition: stg_prop.c:27
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
HRESULT hres
Definition: protocol.c:465
__wchar_t WCHAR
Definition: xmlstorage.h:180
HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
Definition: navigate.c:134
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
static SZ_HTML_CLIENTSITE_OBJECTPARAM(const WCHAR[]) const WCHAR SZ_HTML_CLIENTSITE_OBJECTPARAM[]
Definition: mshtmhst.idl:59
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by navigate_bsc().

◆ BindStatusCallback_AddRef()

static ULONG WINAPI BindStatusCallback_AddRef ( IBindStatusCallback iface)
static

Definition at line 196 of file navigate.c.

197 {
200 
201  TRACE("(%p) ref=%d\n", This, ref);
202 
203  return ref;
204 }
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define InterlockedIncrement
Definition: armddk.h:53

◆ BindStatusCallback_GetBindInfo()

static HRESULT WINAPI BindStatusCallback_GetBindInfo ( IBindStatusCallback iface,
DWORD grfBINDF,
BINDINFO *  pbindinfo 
)
static

Definition at line 386 of file navigate.c.

388 {
390 
391  TRACE("(%p)->(%p %p)\n", This, grfBINDF, pbindinfo);
392 
393  *grfBINDF = BINDF_ASYNCHRONOUS;
394 
395  if(This->post_data) {
396  pbindinfo->dwBindVerb = BINDVERB_POST;
397 
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);
403  }
404 
405  return S_OK;
406 }
#define TRACE(s)
Definition: solgame.cpp:4
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define S_OK
Definition: intsafe.h:59

◆ BindStatusCallback_GetPriority()

static HRESULT WINAPI BindStatusCallback_GetPriority ( IBindStatusCallback iface,
LONG pnPriority 
)
static

Definition at line 241 of file navigate.c.

243 {
245  FIXME("(%p)->(%p)\n", This, pnPriority);
246  return E_NOTIMPL;
247 }
#define FIXME(fmt,...)
Definition: debug.h:110
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ BindStatusCallback_OnDataAvailable()

static HRESULT WINAPI BindStatusCallback_OnDataAvailable ( IBindStatusCallback iface,
DWORD  grfBSCF,
DWORD  dwSize,
FORMATETC *  pformatetc,
STGMEDIUM *  pstgmed 
)
static

Definition at line 408 of file navigate.c.

410 {
412  FIXME("(%p)->(%08x %d %p %p)\n", This, grfBSCF, dwSize, pformatetc, pstgmed);
413  return E_NOTIMPL;
414 }
#define FIXME(fmt,...)
Definition: debug.h:110
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define E_NOTIMPL
Definition: ddrawi.h:99
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:54

◆ BindStatusCallback_OnLowResource()

static HRESULT WINAPI BindStatusCallback_OnLowResource ( IBindStatusCallback iface,
DWORD  reserved 
)
static

Definition at line 249 of file navigate.c.

251 {
253  FIXME("(%p)->(%d)\n", This, reserved);
254  return E_NOTIMPL;
255 }
#define FIXME(fmt,...)
Definition: debug.h:110
r reserved
Definition: btrfs.c:2865
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ BindStatusCallback_OnObjectAvailable()

static HRESULT WINAPI BindStatusCallback_OnObjectAvailable ( IBindStatusCallback iface,
REFIID  riid,
IUnknown punk 
)
static

Definition at line 416 of file navigate.c.

418 {
420 
421  TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), punk);
422 
423  return dochost_object_available(This->doc_host, punk);
424 }
REFIID riid
Definition: precomp.h:44
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
HRESULT dochost_object_available(DocHost *This, IUnknown *doc)
Definition: dochost.c:304

◆ BindStatusCallback_OnProgress()

static HRESULT WINAPI BindStatusCallback_OnProgress ( IBindStatusCallback iface,
ULONG  ulProgress,
ULONG  ulProgressMax,
ULONG  ulStatusCode,
LPCWSTR  szStatusText 
)
static

Definition at line 276 of file navigate.c.

278 {
281 
282  TRACE("(%p)->(%d %d %d %s)\n", This, ulProgress, ulProgressMax, ulStatusCode,
283  debugstr_w(szStatusText));
284 
285  switch(ulStatusCode) {
286  case BINDSTATUS_REDIRECTING:
287  return set_dochost_url(This->doc_host, szStatusText);
288  case BINDSTATUS_BEGINDOWNLOADDATA:
289  set_status_text(This, ulStatusCode, szStatusText);
292  handle_navigation_error(This->doc_host, status_code, This->url, NULL);
293  return S_OK;
294 
295  case BINDSTATUS_FINDINGRESOURCE:
296  case BINDSTATUS_ENDDOWNLOADDATA:
297  case BINDSTATUS_SENDINGREQUEST:
298  set_status_text(This, ulStatusCode, szStatusText);
299  return S_OK;
300 
301  case BINDSTATUS_CONNECTING:
302  case BINDSTATUS_CACHEFILENAMEAVAILABLE:
303  case BINDSTATUS_CLASSIDAVAILABLE:
304  case BINDSTATUS_MIMETYPEAVAILABLE:
305  case BINDSTATUS_BEGINSYNCOPERATION:
306  case BINDSTATUS_ENDSYNCOPERATION:
307  return S_OK;
308  default:
309  FIXME("status code %u\n", ulStatusCode);
310  }
311 
312  return S_OK;
313 }
static DWORD get_http_status_code(IBinding *binding)
Definition: navigate.c:257
struct status_code status_code
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
Definition: navigate.c:134
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
unsigned long DWORD
Definition: ntddk_ex.h:95
#define HTTP_STATUS_OK
Definition: winhttp.h:240
#define S_OK
Definition: intsafe.h:59
static void set_status_text(BindStatusCallback *This, ULONG statuscode, LPCWSTR str)
Definition: navigate.c:102
void handle_navigation_error(DocHost *doc_host, HRESULT hres, BSTR url, IHTMLWindow2 *win2)
Definition: navigate.c:315

◆ BindStatusCallback_OnStartBinding()

static HRESULT WINAPI BindStatusCallback_OnStartBinding ( IBindStatusCallback iface,
DWORD  dwReserved,
IBinding pbind 
)
static

Definition at line 228 of file navigate.c.

230 {
232 
233  TRACE("(%p)->(%d %p)\n", This, dwReserved, pbind);
234 
235  This->binding = pbind;
236  IBinding_AddRef(This->binding);
237 
238  return S_OK;
239 }
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
#define TRACE(s)
Definition: solgame.cpp:4
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define S_OK
Definition: intsafe.h:59

◆ BindStatusCallback_OnStopBinding()

static HRESULT WINAPI BindStatusCallback_OnStopBinding ( IBindStatusCallback iface,
HRESULT  hresult,
LPCWSTR  szError 
)
static

Definition at line 360 of file navigate.c.

362 {
364 
365  TRACE("(%p)->(%08x %s)\n", This, hresult, debugstr_w(szError));
366 
368 
369  if(!This->doc_host)
370  return S_OK;
371 
372  if(!This->doc_host->olecmd)
373  notify_download_state(This->doc_host, FALSE);
374  if(FAILED(hresult))
375  handle_navigation_error(This->doc_host, hresult, This->url, NULL);
376 
377  IOleClientSite_Release(&This->doc_host->IOleClientSite_iface);
378  This->doc_host = NULL;
379 
380  IBinding_Release(This->binding);
381  This->binding = NULL;
382 
383  return S_OK;
384 }
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
void notify_download_state(DocHost *dochost, BOOL is_downloading)
Definition: navigate.c:153
#define S_OK
Definition: intsafe.h:59
static void set_status_text(BindStatusCallback *This, ULONG statuscode, LPCWSTR str)
Definition: navigate.c:102
static const WCHAR emptyW[]
Definition: navigate.c:40
void handle_navigation_error(DocHost *doc_host, HRESULT hres, BSTR url, IHTMLWindow2 *win2)
Definition: navigate.c:315

◆ BindStatusCallback_QueryInterface()

static HRESULT WINAPI BindStatusCallback_QueryInterface ( IBindStatusCallback iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 166 of file navigate.c.

168 {
170 
171  if(IsEqualGUID(&IID_IUnknown, riid)) {
172  TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
173  *ppv = &This->IBindStatusCallback_iface;
174  }else if(IsEqualGUID(&IID_IBindStatusCallback, riid)) {
175  TRACE("(%p)->(IID_IBindStatusCallback %p)\n", This, ppv);
176  *ppv = &This->IBindStatusCallback_iface;
177  }else if(IsEqualGUID(&IID_IHttpNegotiate, riid)) {
178  TRACE("(%p)->(IID_IHttpNegotiate %p)\n", This, ppv);
179  *ppv = &This->IHttpNegotiate_iface;
180  }else if(IsEqualGUID(&IID_IWindowForBindingUI, riid)) {
181  TRACE("(%p)->(IID_IWindowForBindingUI %p)\n", This, ppv);
182  *ppv = &This->IHttpSecurity_iface;
183  }else if(IsEqualGUID(&IID_IHttpSecurity, riid)) {
184  TRACE("(%p)->(IID_IHttpSecurity %p)\n", This, ppv);
185  *ppv = &This->IHttpSecurity_iface;
186  }else {
187  *ppv = NULL;
188  WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
189  return E_NOINTERFACE;
190  }
191 
192  IUnknown_AddRef((IUnknown*)*ppv);
193  return S_OK;
194 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:111
REFIID LPVOID * ppv
Definition: atlbase.h:39
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ BindStatusCallback_Release()

static ULONG WINAPI BindStatusCallback_Release ( IBindStatusCallback iface)
static

Definition at line 206 of file navigate.c.

207 {
210 
211  TRACE("(%p) ref=%d\n", This, ref);
212 
213  if(!ref) {
214  if(This->doc_host)
215  IOleClientSite_Release(&This->doc_host->IOleClientSite_iface);
216  if(This->binding)
217  IBinding_Release(This->binding);
218  if(This->post_data)
219  GlobalFree(This->post_data);
220  SysFreeString(This->headers);
221  SysFreeString(This->url);
222  heap_free(This);
223  }
224 
225  return ref;
226 }
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: navigate.c:161
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
Definition: heapmem.c:611
#define InterlockedDecrement
Definition: armddk.h:52
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ create_callback()

static BindStatusCallback* create_callback ( DocHost doc_host,
LPCWSTR  url,
PBYTE  post_data,
ULONG  post_data_len,
LPCWSTR  headers 
)
static

Definition at line 550 of file navigate.c.

552 {
554 
555  ret->IBindStatusCallback_iface.lpVtbl = &BindStatusCallbackVtbl;
556  ret->IHttpNegotiate_iface.lpVtbl = &HttpNegotiateVtbl;
557  ret->IHttpSecurity_iface.lpVtbl = &HttpSecurityVtbl;
558 
559  ret->ref = 1;
560  ret->url = SysAllocString(url);
561  ret->post_data = NULL;
562  ret->post_data_len = post_data_len;
563  ret->headers = headers ? SysAllocString(headers) : NULL;
564 
565  ret->doc_host = doc_host;
566  IOleClientSite_AddRef(&doc_host->IOleClientSite_iface);
567 
568  ret->binding = NULL;
569 
570  if(post_data) {
571  ret->post_data = GlobalAlloc(0, post_data_len);
572  memcpy(ret->post_data, post_data, post_data_len);
573  }
574 
575  return ret;
576 }
IOleClientSite IOleClientSite_iface
Definition: ieframe.h:120
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:368
static const IBindStatusCallbackVtbl BindStatusCallbackVtbl
Definition: navigate.c:426
vector< Header * > headers
Definition: sdkparse.cpp:39
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
smooth NULL
Definition: ftsmooth.c:416
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
static const WCHAR url[]
Definition: encode.c:1432
int ret
static const CHAR post_data[]
Definition: protocol.c:217
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static const IHttpSecurityVtbl HttpSecurityVtbl
Definition: navigate.c:542
static const IHttpNegotiateVtbl HttpNegotiateVtbl
Definition: navigate.c:491

Referenced by navigate_hlink(), and navigate_url().

◆ create_moniker()

static HRESULT create_moniker ( LPCWSTR  url,
IMoniker **  mon 
)
static

Definition at line 671 of file navigate.c.

672 {
674  DWORD size;
675  HRESULT hres;
676 
677  if(PathIsURLW(url))
678  return CreateURLMoniker(NULL, url, mon);
679 
680  size = ARRAY_SIZE(new_url);
682  TRACE("was %s got %s\n", debugstr_w(url), debugstr_w(new_url));
683  if(FAILED(hres)) {
684  WARN("UrlApplyScheme failed: %08x\n", hres);
685  return hres;
686  }
687 
688  return CreateURLMoniker(NULL, new_url, mon);
689 }
#define WARN(fmt,...)
Definition: debug.h:111
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1410
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
HRESULT hres
Definition: protocol.c:465
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define URL_APPLY_DEFAULT
Definition: shlwapi.h:1204
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
unsigned long DWORD
Definition: ntddk_ex.h:95
HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwFlags)
Definition: url.c:1817
#define ARRAY_SIZE(a)
Definition: main.h:24
#define URL_APPLY_GUESSSCHEME
Definition: shlwapi.h:1203
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
Definition: umon.c:732
#define URL_APPLY_GUESSFILE
Definition: shlwapi.h:1202

Referenced by bind_to_object().

◆ doc_navigate_proc()

static void doc_navigate_proc ( DocHost This,
task_header_t t 
)
static

Definition at line 790 of file navigate.c.

791 {
793  IHTMLPrivateWindow *priv_window;
794  HRESULT hres;
795 
796  if(!This->doc_navigate) {
797  ERR("Skip nav\n");
798  return;
799  }
800 
801  if(task->async_notif) {
802  VARIANT_BOOL cancel = VARIANT_FALSE;
803  on_before_navigate2(This, task->url, task->post_data, task->headers, &cancel);
804  if(cancel) {
805  TRACE("Navigation canceled\n");
806  return;
807  }
808  }
809 
810  hres = IUnknown_QueryInterface(This->doc_navigate, &IID_IHTMLPrivateWindow, (void**)&priv_window);
811  if(SUCCEEDED(hres)) {
812  html_window_navigate(This, priv_window, task->url, task->headers, task->post_data);
813  IHTMLPrivateWindow_Release(priv_window);
814  }else {
815  WARN("Could not get IHTMLPrivateWindow iface: %08x\n", hres);
816  }
817 }
static void on_before_navigate2(DocHost *This, LPCWSTR url, SAFEARRAY *post_data, LPWSTR headers, VARIANT_BOOL *cancel)
Definition: navigate.c:578
#define WARN(fmt,...)
Definition: debug.h:111
GLdouble GLdouble t
Definition: gl.h:2047
short VARIANT_BOOL
Definition: compat.h:1939
static void html_window_navigate(DocHost *This, IHTMLPrivateWindow *window, BSTR url, BSTR headers, SAFEARRAY *post_data)
Definition: navigate.c:738
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
SAFEARRAY * post_data
Definition: navigate.c:775
#define ERR(fmt,...)
Definition: debug.h:109
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by async_doc_navigate().

◆ doc_navigate_task_destr()

static void doc_navigate_task_destr ( task_header_t t)
static

Definition at line 779 of file navigate.c.

780 {
782 
783  SysFreeString(task->url);
784  SysFreeString(task->headers);
785  if(task->post_data)
787  heap_free(task);
788 }
GLdouble GLdouble t
Definition: gl.h:2047
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
Definition: safearray.c:1347
SAFEARRAY * post_data
Definition: navigate.c:775
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by async_doc_navigate().

◆ dump_BINDINFO()

static void dump_BINDINFO ( BINDINFO *  bi)
static

Definition at line 58 of file navigate.c.

59 {
60  static const char * const BINDINFOF_str[] = {
61  "#0",
62  "BINDINFOF_URLENCODESTGMEDDATA",
63  "BINDINFOF_URLENCODEDEXTRAINFO"
64  };
65 
66  static const char * const BINDVERB_str[] = {
67  "BINDVERB_GET",
68  "BINDVERB_POST",
69  "BINDVERB_PUT",
70  "BINDVERB_CUSTOM"
71  };
72 
73  TRACE("\n"
74  "BINDINFO = {\n"
75  " %d, %s,\n"
76  " {%d, %p, %p},\n"
77  " %s,\n"
78  " %s,\n"
79  " %s,\n"
80  " %d, %08x, %d, %d\n"
81  " {%d %p %x},\n"
82  " %s\n"
83  " %p, %d\n"
84  "}\n",
85 
86  bi->cbSize, debugstr_w(bi->szExtraInfo),
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],
92  debugstr_w(bi->szCustomVerb),
93  bi->cbstgmedData, bi->dwOptions, bi->dwOptionsFlags, bi->dwCodePage,
94  bi->securityAttributes.nLength,
95  bi->securityAttributes.lpSecurityDescriptor,
96  bi->securityAttributes.bInheritHandle,
97  debugstr_guid(&bi->iid),
98  bi->pUnk, bi->dwReserved
99  );
100 }
#define debugstr_w
Definition: kernel32.h:32
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by navigate_hlink().

◆ get_http_status_code()

static DWORD get_http_status_code ( IBinding binding)
static

Definition at line 257 of file navigate.c.

258 {
259  IWinInetHttpInfo *http_info;
260  DWORD status, size = sizeof(DWORD);
261  HRESULT hres;
262 
263  hres = IBinding_QueryInterface(binding, &IID_IWinInetHttpInfo, (void**)&http_info);
264  if(FAILED(hres))
265  return HTTP_STATUS_OK;
266 
267  hres = IWinInetHttpInfo_QueryInfo(http_info, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,
268  &status, &size, NULL, NULL);
269  IWinInetHttpInfo_Release(http_info);
270 
271  if(FAILED(hres))
272  return HTTP_STATUS_OK;
273  return status;
274 }
#define DWORD
Definition: nt_native.h:44
smooth NULL
Definition: ftsmooth.c:416
GLsizeiptr size
Definition: glext.h:5919
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
unsigned long DWORD
Definition: ntddk_ex.h:95
#define HTTP_STATUS_OK
Definition: winhttp.h:240
#define HTTP_QUERY_STATUS_CODE
Definition: wininet.h:1542
#define HTTP_QUERY_FLAG_NUMBER
Definition: wininet.h:1606
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by BindStatusCallback_OnProgress().

◆ get_location_url()

HRESULT get_location_url ( DocHost This,
BSTR ret 
)

Definition at line 1142 of file navigate.c.

1143 {
1144  FIXME("semi-stub\n");
1145 
1146  *ret = This->url ? SysAllocString(This->url) : SysAllocStringLen(NULL, 0);
1147  if(!*ret)
1148  return E_OUTOFMEMORY;
1149 
1150  return This->url ? S_OK : S_FALSE;
1151 }
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_FALSE
Definition: winerror.h:2357
smooth NULL
Definition: ftsmooth.c:416
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
int ret
#define S_OK
Definition: intsafe.h:59

Referenced by InternetExplorer_get_LocationURL(), and WebBrowser_get_LocationURL().

◆ go_back()

HRESULT go_back ( DocHost This)

Definition at line 1122 of file navigate.c.

1123 {
1124  if(!This->travellog.position) {
1125  WARN("No history available\n");
1126  return E_FAIL;
1127  }
1128 
1129  return navigate_history(This, This->travellog.position-1);
1130 }
#define WARN(fmt,...)
Definition: debug.h:111
#define E_FAIL
Definition: ddrawi.h:102
static HRESULT navigate_history(DocHost *This, unsigned travellog_pos)
Definition: navigate.c:1090

Referenced by InternetExplorer_GoBack(), and WebBrowser_GoBack().

◆ go_forward()

HRESULT go_forward ( DocHost This)

Definition at line 1132 of file navigate.c.

1133 {
1134  if(This->travellog.position >= This->travellog.length) {
1135  WARN("No history available\n");
1136  return E_FAIL;
1137  }
1138 
1139  return navigate_history(This, This->travellog.position+1);
1140 }
#define WARN(fmt,...)
Definition: debug.h:111
#define E_FAIL
Definition: ddrawi.h:102
static HRESULT navigate_history(DocHost *This, unsigned travellog_pos)
Definition: navigate.c:1090

Referenced by InternetExplorer_GoForward(), and WebBrowser_GoForward().

◆ go_home()

HRESULT go_home ( DocHost This)

Definition at line 1065 of file navigate.c.

1066 {
1067  HKEY hkey;
1068  DWORD res, type, size;
1069  WCHAR wszPageName[MAX_PATH];
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','\\',
1075  'M','a','i','n',0};
1076 
1077  res = RegOpenKeyW(HKEY_CURRENT_USER, wszSubKey, &hkey);
1078  if (res != ERROR_SUCCESS)
1079  return navigate_url(This, wszAboutBlank, NULL, NULL, NULL, NULL);
1080 
1081  size = sizeof(wszPageName);
1082  res = RegQueryValueExW(hkey, wszStartPage, NULL, &type, (LPBYTE)wszPageName, &size);
1083  RegCloseKey(hkey);
1084  if (res != ERROR_SUCCESS || type != REG_SZ)
1085  return navigate_url(This, wszAboutBlank, NULL, NULL, NULL, NULL);
1086 
1087  return navigate_url(This, wszPageName, NULL, NULL, NULL, NULL);
1088 }
#define ERROR_SUCCESS
Definition: deptool.c:10
#define HKEY_CURRENT_USER
Definition: winreg.h:11
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3296
smooth NULL
Definition: ftsmooth.c:416
HRESULT navigate_url(DocHost *This, LPCWSTR url, const VARIANT *Flags, const VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
Definition: navigate.c:941
GLsizeiptr size
Definition: glext.h:5919
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4116
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:26
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint res
Definition: glext.h:9613
#define REG_SZ
Definition: layer.c:22

Referenced by InternetExplorer_GoHome(), and WebBrowser_GoHome().

◆ handle_navigation_error()

void handle_navigation_error ( DocHost doc_host,
HRESULT  hres,
BSTR  url,
IHTMLWindow2 win2 
)

Definition at line 315 of file navigate.c.

316 {
317  VARIANT var_status_code, var_frame_name, var_url;
318  DISPPARAMS dispparams;
319  VARIANTARG params[5];
320  VARIANT_BOOL cancel = VARIANT_FALSE;
321 
322  dispparams.cArgs = 5;
323  dispparams.cNamedArgs = 0;
324  dispparams.rgdispidNamedArgs = NULL;
325  dispparams.rgvarg = params;
326 
328  V_BOOLREF(params) = &cancel;
329 
331  V_VARIANTREF(params+1) = &var_status_code;
332  V_VT(&var_status_code) = VT_I4;
333  V_I4(&var_status_code) = hres;
334 
336  V_VARIANTREF(params+2) = &var_frame_name;
337  V_VT(&var_frame_name) = VT_BSTR;
338  if(win2) {
339  hres = IHTMLWindow2_get_name(win2, &V_BSTR(&var_frame_name));
340  if(FAILED(hres))
341  V_BSTR(&var_frame_name) = NULL;
342  } else
343  V_BSTR(&var_frame_name) = NULL;
344 
346  V_VARIANTREF(params+3) = &var_url;
347  V_VT(&var_url) = VT_BSTR;
348  V_BSTR(&var_url) = url;
349 
350  V_VT(params+4) = VT_DISPATCH;
351  V_DISPATCH(params+4) = (IDispatch*)doc_host->wb;
352 
353  call_sink(doc_host->cps.wbe2, DISPID_NAVIGATEERROR, &dispparams);
354  SysFreeString(V_BSTR(&var_frame_name));
355 
356  if(!cancel)
357  FIXME("Navigate to error page\n");
358 }
Definition: compat.h:1947
short VARIANT_BOOL
Definition: compat.h:1939
#define V_I4(A)
Definition: oleauto.h:247
#define V_DISPATCH(A)
Definition: oleauto.h:239
ConnectionPointContainer cps
Definition: ieframe.h:173
IWebBrowser2 * wb
Definition: ieframe.h:133
GLenum const GLfloat * params
Definition: glext.h:5645
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
Definition: events.c:391
#define FIXME(fmt,...)
Definition: debug.h:110
#define V_BOOLREF(A)
Definition: oleauto.h:225
smooth NULL
Definition: ftsmooth.c:416
HRESULT hres
Definition: protocol.c:465
static const WCHAR url[]
Definition: encode.c:1432
#define DISPID_NAVIGATEERROR
Definition: webchild.h:73
#define V_VT(A)
Definition: oleauto.h:211
ConnectionPoint * wbe2
Definition: ieframe.h:55
#define V_BSTR(A)
Definition: oleauto.h:226
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
struct stdole::DISPPARAMS DISPPARAMS
#define V_VARIANTREF(A)
Definition: oleauto.h:283

Referenced by BindStatusCallback_OnProgress(), BindStatusCallback_OnStopBinding(), ClOleCommandTarget_Exec(), nsChannelBSC_on_progress(), and nsChannelBSC_stop_binding().

◆ HlinkFrame_AddRef()

static ULONG WINAPI HlinkFrame_AddRef ( IHlinkFrame iface)
static

Definition at line 1164 of file navigate.c.

1165 {
1167  return IUnknown_AddRef(This->outer);
1168 }
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153

◆ HlinkFrame_GetBrowseContext()

static HRESULT WINAPI HlinkFrame_GetBrowseContext ( IHlinkFrame iface,
IHlinkBrowseContext **  ppihlbc 
)
static

Definition at line 1184 of file navigate.c.

1186 {
1188  FIXME("(%p)->(%p)\n", This, ppihlbc);
1189  return E_NOTIMPL;
1190 }
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ HlinkFrame_Init()

void HlinkFrame_Init ( HlinkFrame This,
IUnknown outer,
DocHost doc_host 
)

Definition at line 1694 of file navigate.c.

1695 {
1696  This->IHlinkFrame_iface.lpVtbl = &HlinkFrameVtbl;
1697  This->ITargetFrame_iface.lpVtbl = &TargetFrameVtbl;
1698  This->ITargetFrame2_iface.lpVtbl = &TargetFrame2Vtbl;
1699  This->ITargetFramePriv2_iface.lpVtbl = &TargetFramePriv2Vtbl;
1700  This->IWebBrowserPriv2IE9_iface.lpVtbl = &WebBrowserPriv2IE9Vtbl;
1701 
1702  This->outer = outer;
1703  This->doc_host = doc_host;
1704 }
static const ITargetFrame2Vtbl TargetFrame2Vtbl
Definition: navigate.c:1502
static const ITargetFrameVtbl TargetFrameVtbl
Definition: navigate.c:1375
static const ITargetFramePriv2Vtbl TargetFramePriv2Vtbl
Definition: navigate.c:1614
static const IHlinkFrameVtbl HlinkFrameVtbl
Definition: navigate.c:1241
static const IWebBrowserPriv2IE9Vtbl WebBrowserPriv2IE9Vtbl
Definition: navigate.c:1659

Referenced by create_ie(), and create_webbrowser().

◆ HlinkFrame_Navigate()

static HRESULT WINAPI HlinkFrame_Navigate ( IHlinkFrame iface,
DWORD  grfHLNF,
LPBC  pbc,
IBindStatusCallback pibsc,
IHlink pihlNavigate 
)
static

Definition at line 1192 of file navigate.c.

1194 {
1196  IMoniker *mon;
1197  LPWSTR location = NULL;
1198 
1199  TRACE("(%p)->(%08x %p %p %p)\n", This, grfHLNF, pbc, pibsc, pihlNavigate);
1200 
1201  if(grfHLNF)
1202  FIXME("unsupported grfHLNF=%08x\n", grfHLNF);
1203 
1204  /* Windows calls GetTargetFrameName here. */
1205 
1206  IHlink_GetMonikerReference(pihlNavigate, 1, &mon, &location);
1207 
1208  if(location) {
1209  FIXME("location = %s\n", debugstr_w(location));
1211  }
1212 
1213  /* Windows calls GetHlinkSite here */
1214 
1215  if(grfHLNF & HLNF_OPENINNEWWINDOW) {
1216  FIXME("Not supported HLNF_OPENINNEWWINDOW\n");
1217  return E_NOTIMPL;
1218  }
1219 
1220  return navigate_hlink(This->doc_host, mon, pbc, pibsc);
1221 }
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:420
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153
static HRESULT navigate_hlink(DocHost *This, IMoniker *mon, IBindCtx *bindctx, IBindStatusCallback *callback)
Definition: navigate.c:1011
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define E_NOTIMPL
Definition: ddrawi.h:99
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ HlinkFrame_OnNavigate()

static HRESULT WINAPI HlinkFrame_OnNavigate ( IHlinkFrame iface,
DWORD  grfHLNF,
IMoniker pimkTarget,
LPCWSTR  pwzLocation,
LPCWSTR  pwzFriendlyName,
DWORD  dwreserved 
)
static

Definition at line 1223 of file navigate.c.

1225 {
1227  FIXME("(%p)->(%08x %p %s %s %d)\n", This, grfHLNF, pimkTarget, debugstr_w(pwzLocation),
1228  debugstr_w(pwzFriendlyName), dwreserved);
1229  return E_NOTIMPL;
1230 }
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ HlinkFrame_QI()

BOOL HlinkFrame_QI ( HlinkFrame This,
REFIID  riid,
void **  ppv 
)

Definition at line 1666 of file navigate.c.

1667 {
1668  if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
1669  TRACE("(%p)->(IID_IHlinkFrame %p)\n", This, ppv);
1670  *ppv = &This->IHlinkFrame_iface;
1671  }else if(IsEqualGUID(&IID_ITargetFrame, riid)) {
1672  TRACE("(%p)->(IID_ITargetFrame %p)\n", This, ppv);
1673  *ppv = &This->ITargetFrame_iface;
1674  }else if(IsEqualGUID(&IID_ITargetFrame2, riid)) {
1675  TRACE("(%p)->(IID_ITargetFrame2 %p)\n", This, ppv);
1676  *ppv = &This->ITargetFrame2_iface;
1677  }else if(IsEqualGUID(&IID_ITargetFramePriv, riid)) {
1678  TRACE("(%p)->(IID_ITargetFramePriv %p)\n", This, ppv);
1679  *ppv = &This->ITargetFramePriv2_iface;
1680  }else if(IsEqualGUID(&IID_ITargetFramePriv2, riid)) {
1681  TRACE("(%p)->(IID_ITargetFramePriv2 %p)\n", This, ppv);
1682  *ppv = &This->ITargetFramePriv2_iface;
1683  }else if(IsEqualGUID(&IID_IWebBrowserPriv2IE9, riid)) {
1684  TRACE("(%p)->(IID_IWebBrowserPriv2IE9 %p)\n", This, ppv);
1685  *ppv = &This->IWebBrowserPriv2IE9_iface;
1686  }else {
1687  return FALSE;
1688  }
1689 
1690  IUnknown_AddRef((IUnknown*)*ppv);
1691  return TRUE;
1692 }
#define TRUE
Definition: types.h:120
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

Referenced by InternetExplorer_QueryInterface(), and WebBrowser_QueryInterface().

◆ HlinkFrame_QueryInterface()

static HRESULT WINAPI HlinkFrame_QueryInterface ( IHlinkFrame iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1158 of file navigate.c.

1159 {
1161  return IUnknown_QueryInterface(This->outer, riid, ppv);
1162 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153

◆ HlinkFrame_Release()

static ULONG WINAPI HlinkFrame_Release ( IHlinkFrame iface)
static

Definition at line 1170 of file navigate.c.

1171 {
1173  return IUnknown_Release(This->outer);
1174 }
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153

◆ HlinkFrame_SetBrowseContext()

static HRESULT WINAPI HlinkFrame_SetBrowseContext ( IHlinkFrame iface,
IHlinkBrowseContext pihlbc 
)
static

Definition at line 1176 of file navigate.c.

1178 {
1180  FIXME("(%p)->(%p)\n", This, pihlbc);
1181  return E_NOTIMPL;
1182 }
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ HlinkFrame_UpdateHlink()

static HRESULT WINAPI HlinkFrame_UpdateHlink ( IHlinkFrame iface,
ULONG  uHLID,
IMoniker pimkTarget,
LPCWSTR  pwzLocation,
LPCWSTR  pwzFriendlyName 
)
static

Definition at line 1232 of file navigate.c.

1234 {
1236  FIXME("(%p)->(%u %p %s %s)\n", This, uHLID, pimkTarget, debugstr_w(pwzLocation),
1237  debugstr_w(pwzFriendlyName));
1238  return E_NOTIMPL;
1239 }
static HlinkFrame * impl_from_IHlinkFrame(IHlinkFrame *iface)
Definition: navigate.c:1153
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ html_window_navigate()

static void html_window_navigate ( DocHost This,
IHTMLPrivateWindow window,
BSTR  url,
BSTR  headers,
SAFEARRAY post_data 
)
static

Definition at line 738 of file navigate.c.

739 {
740  VARIANT headers_var, post_data_var;
741  BSTR empty_str;
742  HRESULT hres;
743 
745  if(FAILED(hres))
746  return;
747 
749 
750  if(headers) {
751  V_VT(&headers_var) = VT_BSTR;
752  V_BSTR(&headers_var) = headers;
753  }else {
754  V_VT(&headers_var) = VT_EMPTY;
755  }
756 
757  if(post_data) {
758  V_VT(&post_data_var) = VT_UI1|VT_ARRAY;
759  V_ARRAY(&post_data_var) = post_data;
760  }else {
761  V_VT(&post_data_var) = VT_EMPTY;
762  }
763 
764  set_doc_state(This, READYSTATE_LOADING);
765  hres = IHTMLPrivateWindow_SuperNavigate(window, url, empty_str, NULL, NULL, &post_data_var, &headers_var, 0);
767  if(FAILED(hres))
768  WARN("SuprtNavigate failed: %08x\n", hres);
769 }
static const TCHAR empty_str[]
Definition: dialog.c:32
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
#define V_ARRAY(A)
Definition: oleauto.h:222
#define WARN(fmt,...)
Definition: debug.h:111
vector< Header * > headers
Definition: sdkparse.cpp:39
OLECHAR * BSTR
Definition: compat.h:1942
smooth NULL
Definition: ftsmooth.c:416
HRESULT hres
Definition: protocol.c:465
HRESULT set_dochost_url(DocHost *This, const WCHAR *url)
Definition: navigate.c:134
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
void set_doc_state(DocHost *This, READYSTATE doc_state)
Definition: dochost.c:234
static const CHAR post_data[]
Definition: protocol.c:217
#define V_VT(A)
Definition: oleauto.h:211
static IHTMLWindow2 * window
Definition: events.c:77
#define V_BSTR(A)
Definition: oleauto.h:226
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271

Referenced by doc_navigate_proc().

◆ HttpNegotiate_AddRef()

static ULONG WINAPI HttpNegotiate_AddRef ( IHttpNegotiate iface)
static

Definition at line 452 of file navigate.c.

453 {
455  return IBindStatusCallback_AddRef(&This->IBindStatusCallback_iface);
456 }
static BindStatusCallback * impl_from_IHttpNegotiate(IHttpNegotiate *iface)
Definition: navigate.c:440

◆ HttpNegotiate_BeginningTransaction()

static HRESULT WINAPI HttpNegotiate_BeginningTransaction ( IHttpNegotiate iface,
LPCWSTR  szURL,
LPCWSTR  szHeaders,
DWORD  dwReserved,
LPWSTR pszAdditionalHeaders 
)
static

Definition at line 464 of file navigate.c.

466 {
468 
469  TRACE("(%p)->(%s %s %d %p)\n", This, debugstr_w(szURL), debugstr_w(szHeaders),
470  dwReserved, pszAdditionalHeaders);
471 
472  if(This->headers) {
473  int size = (lstrlenW(This->headers)+1)*sizeof(WCHAR);
474  *pszAdditionalHeaders = CoTaskMemAlloc(size);
475  memcpy(*pszAdditionalHeaders, This->headers, size);
476  }
477 
478  return S_OK;
479 }
#define lstrlenW
Definition: compat.h:415
static BindStatusCallback * impl_from_IHttpNegotiate(IHttpNegotiate *iface)
Definition: navigate.c:440
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define S_OK
Definition: intsafe.h:59
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:404

◆ HttpNegotiate_OnResponse()

static HRESULT WINAPI HttpNegotiate_OnResponse ( IHttpNegotiate iface,
DWORD  dwResponseCode,
LPCWSTR  szResponseHeaders,
LPCWSTR  szRequestHeaders,
LPWSTR pszAdditionalRequestHeaders 
)
static

Definition at line 481 of file navigate.c.

484 {
486  TRACE("(%p)->(%d %s %s %p)\n", This, dwResponseCode, debugstr_w(szResponseHeaders),
487  debugstr_w(szRequestHeaders), pszAdditionalRequestHeaders);
488  return S_OK;
489 }
static BindStatusCallback * impl_from_IHttpNegotiate(IHttpNegotiate *iface)
Definition: navigate.c:440
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ HttpNegotiate_QueryInterface()

static HRESULT WINAPI HttpNegotiate_QueryInterface ( IHttpNegotiate iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 445 of file navigate.c.

447 {
449  return IBindStatusCallback_QueryInterface(&This->IBindStatusCallback_iface, riid, ppv);
450 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static BindStatusCallback * impl_from_IHttpNegotiate(IHttpNegotiate *iface)
Definition: navigate.c:440

◆ HttpNegotiate_Release()

static ULONG WINAPI HttpNegotiate_Release ( IHttpNegotiate iface)
static

Definition at line 458 of file navigate.c.

459 {
461  return IBindStatusCallback_Release(&This->IBindStatusCallback_iface);
462 }
static BindStatusCallback * impl_from_IHttpNegotiate(IHttpNegotiate *iface)
Definition: navigate.c:440

◆ HttpSecurity_AddRef()

static ULONG WINAPI HttpSecurity_AddRef ( IHttpSecurity iface)
static

Definition at line 510 of file navigate.c.

511 {
513  return IBindStatusCallback_AddRef(&This->IBindStatusCallback_iface);
514 }
static BindStatusCallback * impl_from_IHttpSecurity(IHttpSecurity *iface)
Definition: navigate.c:499

◆ HttpSecurity_GetWindow()

static HRESULT WINAPI HttpSecurity_GetWindow ( IHttpSecurity iface,
REFGUID  rguidReason,
HWND phwnd 
)
static

Definition at line 522 of file navigate.c.

523 {
525 
526  TRACE("(%p)->(%s %p)\n", This, debugstr_guid(rguidReason), phwnd);
527 
528  if(!This->doc_host)
529  return E_FAIL;
530 
531  *phwnd = This->doc_host->frame_hwnd;
532  return S_OK;
533 }
#define E_FAIL
Definition: ddrawi.h:102
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59
static BindStatusCallback * impl_from_IHttpSecurity(IHttpSecurity *iface)
Definition: navigate.c:499

◆ HttpSecurity_OnSecurityProblem()

static HRESULT WINAPI HttpSecurity_OnSecurityProblem ( IHttpSecurity iface,
DWORD  dwProblem 
)
static

Definition at line 535 of file navigate.c.

536 {
538  FIXME("(%p)->(%u)\n", This, dwProblem);
539  return S_FALSE;
540 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_FALSE
Definition: winerror.h:2357
static BindStatusCallback * impl_from_IHttpSecurity(IHttpSecurity *iface)
Definition: navigate.c:499

◆ HttpSecurity_QueryInterface()

static HRESULT WINAPI HttpSecurity_QueryInterface ( IHttpSecurity iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 504 of file navigate.c.

505 {
507  return IBindStatusCallback_QueryInterface(&This->IBindStatusCallback_iface, riid, ppv);
508 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static BindStatusCallback * impl_from_IHttpSecurity(IHttpSecurity *iface)
Definition: navigate.c:499

◆ HttpSecurity_Release()

static ULONG WINAPI HttpSecurity_Release ( IHttpSecurity iface)
static

Definition at line 516 of file navigate.c.

517 {
519  return IBindStatusCallback_Release(&This->IBindStatusCallback_iface);
520 }
static BindStatusCallback * impl_from_IHttpSecurity(IHttpSecurity *iface)
Definition: navigate.c:499

◆ impl_from_IBindStatusCallback()

static BindStatusCallback* impl_from_IBindStatusCallback ( IBindStatusCallback iface)
inlinestatic

Definition at line 161 of file navigate.c.

162 {
163  return CONTAINING_RECORD(iface, BindStatusCallback, IBindStatusCallback_iface);
164 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by BindStatusCallback_AddRef(), BindStatusCallback_GetBindInfo(), BindStatusCallback_GetPriority(), BindStatusCallback_OnDataAvailable(), BindStatusCallback_OnLowResource(), BindStatusCallback_OnObjectAvailable(), BindStatusCallback_OnProgress(), BindStatusCallback_OnStartBinding(), BindStatusCallback_OnStopBinding(), BindStatusCallback_QueryInterface(), and BindStatusCallback_Release().

◆ impl_from_IHlinkFrame()

static HlinkFrame* impl_from_IHlinkFrame ( IHlinkFrame iface)
inlinestatic

Definition at line 1153 of file navigate.c.

1154 {
1155  return CONTAINING_RECORD(iface, HlinkFrame, IHlinkFrame_iface);
1156 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by HlinkFrame_AddRef(), HlinkFrame_GetBrowseContext(), HlinkFrame_Navigate(), HlinkFrame_OnNavigate(), HlinkFrame_QueryInterface(), HlinkFrame_Release(), HlinkFrame_SetBrowseContext(), and HlinkFrame_UpdateHlink().

◆ impl_from_IHttpNegotiate()

static BindStatusCallback* impl_from_IHttpNegotiate ( IHttpNegotiate iface)
inlinestatic

Definition at line 440 of file navigate.c.

441 {
442  return CONTAINING_RECORD(iface, BindStatusCallback, IHttpNegotiate_iface);
443 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by HttpNegotiate_AddRef(), HttpNegotiate_BeginningTransaction(), HttpNegotiate_OnResponse(), HttpNegotiate_QueryInterface(), and HttpNegotiate_Release().

◆ impl_from_IHttpSecurity()

static BindStatusCallback* impl_from_IHttpSecurity ( IHttpSecurity iface)
inlinestatic

Definition at line 499 of file navigate.c.

500 {
501  return CONTAINING_RECORD(iface, BindStatusCallback, IHttpSecurity_iface);
502 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by HttpSecurity_AddRef(), HttpSecurity_GetWindow(), HttpSecurity_OnSecurityProblem(), HttpSecurity_QueryInterface(), and HttpSecurity_Release().

◆ impl_from_ITargetFrame()

static HlinkFrame* impl_from_ITargetFrame ( ITargetFrame iface)
inlinestatic

◆ impl_from_ITargetFrame2()

static HlinkFrame* impl_from_ITargetFrame2 ( ITargetFrame2 iface)
inlinestatic

Definition at line 1395 of file navigate.c.

1396 {
1397  return CONTAINING_RECORD(iface, HlinkFrame, ITargetFrame2_iface);
1398 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by TargetFrame2_AddRef(), TargetFrame2_FindFrame(), TargetFrame2_GetFrameMargins(), TargetFrame2_GetFrameName(), TargetFrame2_GetFrameOptions(), TargetFrame2_GetFramesContainer(), TargetFrame2_GetFrameSrc(), TargetFrame2_GetParentFrame(), TargetFrame2_GetTargetAlias(), TargetFrame2_QueryInterface(), TargetFrame2_Release(), TargetFrame2_SetFrameMargins(), TargetFrame2_SetFrameName(), TargetFrame2_SetFrameOptions(), and TargetFrame2_SetFrameSrc().

◆ impl_from_ITargetFramePriv2()

static HlinkFrame* impl_from_ITargetFramePriv2 ( ITargetFramePriv2 iface)
inlinestatic

Definition at line 1520 of file navigate.c.

1521 {
1522  return CONTAINING_RECORD(iface, HlinkFrame, ITargetFramePriv2_iface);
1523 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by TargetFramePriv2_AddRef(), TargetFramePriv2_AggregatedNavigation2(), TargetFramePriv2_FindBrowserByIndex(), TargetFramePriv2_FindFrameDownwards(), TargetFramePriv2_FindFrameInContext(), TargetFramePriv2_NavigateHack(), TargetFramePriv2_OnChildFrameActivate(), TargetFramePriv2_OnChildFrameDeactivate(), TargetFramePriv2_QueryInterface(), and TargetFramePriv2_Release().

◆ impl_from_IWebBrowserPriv2IE9()

static HlinkFrame* impl_from_IWebBrowserPriv2IE9 ( IWebBrowserPriv2IE9 iface)
inlinestatic

Definition at line 1627 of file navigate.c.

1628 {
1629  return CONTAINING_RECORD(iface, HlinkFrame, IWebBrowserPriv2IE9_iface);
1630 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by WebBrowserPriv2IE9_AddRef(), WebBrowserPriv2IE9_NavigateWithBindCtx2(), WebBrowserPriv2IE9_QueryInterface(), and WebBrowserPriv2IE9_Release().

◆ navigate_bsc()

static HRESULT navigate_bsc ( DocHost This,
BindStatusCallback bsc,
IMoniker mon 
)
static

Definition at line 871 of file navigate.c.

872 {
873  VARIANT_BOOL cancel = VARIANT_FALSE;
875  IBindCtx *bindctx;
876  HRESULT hres;
877 
878  set_doc_state(This, READYSTATE_LOADING);
879 
880  if(bsc->post_data) {
881  post_data = SafeArrayCreateVector(VT_UI1, 0, bsc->post_data_len);
882  memcpy(post_data->pvData, post_data, bsc->post_data_len);
883  }
884 
885  on_before_navigate2(This, bsc->url, post_data, bsc->headers, &cancel);
886  if(post_data)
888  if(cancel) {
889  FIXME("Navigation canceled\n");
890  return S_OK;
891  }
892 
894  This->busy = VARIANT_FALSE;
895 
898 
899  if(This->document)
901 
902  CreateAsyncBindCtx(0, &bsc->IBindStatusCallback_iface, 0, &bindctx);
903 
904  if(This->frame)
905  IOleInPlaceFrame_EnableModeless(This->frame, FALSE);
906 
907  hres = bind_to_object(This, mon, bsc->url, bindctx, &bsc->IBindStatusCallback_iface);
908 
909  if(This->frame)
910  IOleInPlaceFrame_EnableModeless(This->frame, TRUE);
911 
912  IBindCtx_Release(bindctx);
913 
914  return hres;
915 }
void on_commandstate_change(DocHost *doc_host, LONG command, BOOL enable)
Definition: dochost.c:83
#define TRUE
Definition: types.h:120
static HRESULT bind_to_object(DocHost *This, IMoniker *mon, LPCWSTR url, IBindCtx *bindctx, IBindStatusCallback *callback)
Definition: navigate.c:691
static void on_before_navigate2(DocHost *This, LPCWSTR url, SAFEARRAY *post_data, LPWSTR headers, VARIANT_BOOL *cancel)
Definition: navigate.c:578
short VARIANT_BOOL
Definition: compat.h:1939
#define FIXME(fmt,...)
Definition: debug.h:110
static IBindStatusCallbackEx bsc
Definition: url.c:2150
smooth NULL
Definition: ftsmooth.c:416
SHDocVw::uuid CSC_NAVIGATEBACK
void deactivate_document(DocHost *This)
Definition: dochost.c:510
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
void set_doc_state(DocHost *This, READYSTATE doc_state)
Definition: dochost.c:234
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
Definition: safearray.c:1347
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
Definition: safearray.c:677
static const CHAR post_data[]
Definition: protocol.c:217
void notify_download_state(DocHost *dochost, BOOL is_downloading)
Definition: navigate.c:153
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define S_OK
Definition: intsafe.h:59
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
Definition: bindctx.c:899
SHDocVw::uuid CSC_NAVIGATEFORWARD

Referenced by navigate_bsc_proc(), and navigate_hlink().

◆ navigate_bsc_proc()

static void navigate_bsc_proc ( DocHost This,
task_header_t t 
)
static

Definition at line 930 of file navigate.c.

931 {
933 
934  if(!This->hwnd)
936 
937  navigate_bsc(This, task->bsc, NULL);
938 }
GLdouble GLdouble t
Definition: gl.h:2047
static HRESULT navigate_bsc(DocHost *This, BindStatusCallback *bsc, IMoniker *mon)
Definition: navigate.c:871
smooth NULL
Definition: ftsmooth.c:416
void create_doc_view_hwnd(DocHost *This)
Definition: dochost.c:479
BindStatusCallback * bsc
Definition: navigate.c:919

Referenced by navigate_url().

◆ navigate_bsc_task_destr()

static void navigate_bsc_task_destr ( task_header_t t)
static

Definition at line 922 of file navigate.c.

923 {
925 
926  IBindStatusCallback_Release(&task->bsc->IBindStatusCallback_iface);
927  heap_free(task);
928 }
GLdouble GLdouble t
Definition: gl.h:2047
IBindStatusCallback IBindStatusCallback_iface
Definition: navigate.c:43
BindStatusCallback * bsc
Definition: navigate.c:919
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by navigate_url().

◆ navigate_history()

static HRESULT navigate_history ( DocHost This,
unsigned  travellog_pos 
)
static

Definition at line 1090 of file navigate.c.

1091 {
1092  IPersistHistory *persist_history;
1094  LARGE_INTEGER li;
1095  HRESULT hres;
1096 
1097  if(!This->doc_navigate) {
1098  FIXME("unsupported doc_navigate FALSE\n");
1099  return E_NOTIMPL;
1100  }
1101 
1102  This->travellog.loading_pos = travellog_pos;
1103  entry = This->travellog.log + This->travellog.loading_pos;
1104 
1106 
1107  if(!entry->stream)
1108  return async_doc_navigate(This, entry->url, NULL, NULL, 0, FALSE);
1109 
1110  hres = IUnknown_QueryInterface(This->document, &IID_IPersistHistory, (void**)&persist_history);
1111  if(FAILED(hres))
1112  return hres;
1113 
1114  li.QuadPart = 0;
1115  IStream_Seek(entry->stream, li, STREAM_SEEK_SET, NULL);
1116 
1117  hres = IPersistHistory_LoadHistory(persist_history, entry->stream, NULL);
1118  IPersistHistory_Release(persist_history);
1119  return hres;
1120 }
static HRESULT async_doc_navigate(DocHost *This, LPCWSTR url, LPCWSTR headers, PBYTE post_data, ULONG post_data_size, BOOL async_notif)
Definition: navigate.c:819
void update_navigation_commands(DocHost *dochost)
Definition: dochost.c:106
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
Definition: ieframe.h:104
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
uint32_t entry
Definition: isohybrid.c:63
#define E_NOTIMPL
Definition: ddrawi.h:99
LONGLONG QuadPart
Definition: typedefs.h:112

Referenced by go_back(), and go_forward().

◆ navigate_hlink()

static HRESULT navigate_hlink ( DocHost This,
IMoniker mon,
IBindCtx bindctx,
IBindStatusCallback callback 
)
static

Definition at line 1011 of file navigate.c.

1013 {
1016  PBYTE post_data = NULL;
1017  ULONG post_data_len = 0;
1018  LPWSTR headers = NULL, url;
1019  BINDINFO bindinfo;
1020  DWORD bindf = 0;
1021  HRESULT hres;
1022 
1023  TRACE("\n");
1024 
1025  hres = IMoniker_GetDisplayName(mon, 0, NULL, &url);
1026  if(FAILED(hres))
1027  FIXME("GetDisplayName failed: %08x\n", hres);
1028 
1029  hres = IBindStatusCallback_QueryInterface(callback, &IID_IHttpNegotiate,
1030  (void**)&http_negotiate);
1031  if(SUCCEEDED(hres)) {
1032  static const WCHAR null_string[] = {0};
1033 
1034  IHttpNegotiate_BeginningTransaction(http_negotiate, null_string, null_string, 0,
1035  &headers);
1036  IHttpNegotiate_Release(http_negotiate);
1037  }
1038 
1039  memset(&bindinfo, 0, sizeof(bindinfo));
1040  bindinfo.cbSize = sizeof(bindinfo);
1041 
1042  hres = IBindStatusCallback_GetBindInfo(callback, &bindf, &bindinfo);
1043  dump_BINDINFO(&bindinfo);
1044  if(bindinfo.dwBindVerb == BINDVERB_POST) {
1045  post_data_len = bindinfo.cbstgmedData;
1046  if(post_data_len)
1047  post_data = bindinfo.stgmedData.u.hGlobal;
1048  }
1049 
1050  if(This->doc_navigate) {
1051  hres = async_doc_navigate(This, url, headers, post_data, post_data_len, FALSE);
1052  }else {
1053  bsc = create_callback(This, url, post_data, post_data_len, headers);
1054  hres = navigate_bsc(This, bsc, mon);
1055  IBindStatusCallback_Release(&bsc->IBindStatusCallback_iface);
1056  }
1057 
1058  CoTaskMemFree(url);
1060  ReleaseBindInfo(&bindinfo);
1061 
1062  return hres;
1063 }
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:420
static BindStatusCallback * create_callback(DocHost *doc_host, LPCWSTR url, PBYTE post_data, ULONG post_data_len, LPCWSTR headers)
Definition: navigate.c:550
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
Definition: urlmon_main.c:572
static HRESULT async_doc_navigate(DocHost *This, LPCWSTR url, LPCWSTR headers, PBYTE post_data, ULONG post_data_size, BOOL async_notif)
Definition: navigate.c:819
vector< Header * > headers
Definition: sdkparse.cpp:39
static HRESULT navigate_bsc(DocHost *This, BindStatusCallback *bsc, IMoniker *mon)
Definition: navigate.c:871
static void dump_BINDINFO(BINDINFO *bi)
Definition: navigate.c:58
#define FIXME(fmt,...)
Definition: debug.h:110
static IBindStatusCallbackEx bsc
Definition: url.c:2150
smooth NULL
Definition: ftsmooth.c:416
MmuTrapHandler callback[0x30]
Definition: mmuobject.c:44
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
unsigned long DWORD
Definition: ntddk_ex.h:95
static const CHAR post_data[]
Definition: protocol.c:217
unsigned int ULONG
Definition: retypes.h:1
static IHttpNegotiate2 http_negotiate
Definition: protocol.c:395
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define memset(x, y, z)
Definition: compat.h:39
BYTE * PBYTE
Definition: pedump.c:66
#define SUCCEEDED(hr)
Definition: intsafe.h:57
static DWORD bindf
Definition: protocol.c:70

Referenced by HlinkFrame_Navigate(), and TargetFramePriv2_AggregatedNavigation2().

◆ navigate_url()

HRESULT navigate_url ( DocHost This,
LPCWSTR  url,
const VARIANT Flags,
const VARIANT TargetFrameName,
VARIANT PostData,
VARIANT Headers 
)

Definition at line 941 of file navigate.c.

943 {
944  SAFEARRAY *post_array = NULL;
945  PBYTE post_data = NULL;
946  ULONG post_data_len = 0;
947  LPWSTR headers = NULL;
948  HRESULT hres = S_OK;
949 
950  TRACE("navigating to %s\n", debugstr_w(url));
951 
952  if((Flags && V_VT(Flags) != VT_EMPTY && V_VT(Flags) != VT_ERROR)
953  || (TargetFrameName && V_VT(TargetFrameName) != VT_EMPTY && V_VT(TargetFrameName) != VT_ERROR))
954  FIXME("Unsupported args (Flags %s; TargetFrameName %s)\n", debugstr_variant(Flags), debugstr_variant(TargetFrameName));
955 
956  if(PostData) {
957  if(V_VT(PostData) & VT_ARRAY)
958  post_array = V_ISBYREF(PostData) ? *V_ARRAYREF(PostData) : V_ARRAY(PostData);
959  else
960  WARN("Invalid post data %s\n", debugstr_variant(PostData));
961  }
962 
963  if(post_array) {
964  LONG elem_max;
965  SafeArrayAccessData(post_array, (void**)&post_data);
966  SafeArrayGetUBound(post_array, 1, &elem_max);
967  post_data_len = (elem_max+1) * SafeArrayGetElemsize(post_array);
968  }
969 
970  if(Headers && V_VT(Headers) == VT_BSTR) {
971  headers = V_BSTR(Headers);
972  TRACE("Headers: %s\n", debugstr_w(headers));
973  }
974 
975  set_doc_state(This, READYSTATE_LOADING);
976  This->ready_state = READYSTATE_LOADING;
977 
978  if(This->doc_navigate) {
980 
981  if(PathIsURLW(url)) {
982  new_url[0] = 0;
983  }else {
984  DWORD size;
985 
986  size = ARRAY_SIZE(new_url);
987  hres = UrlApplySchemeW(url, new_url, &size,
989  if(FAILED(hres)) {
990  WARN("UrlApplyScheme failed: %08x\n", hres);
991  new_url[0] = 0;
992  }
993  }
994 
995  hres = async_doc_navigate(This, *new_url ? new_url : url, headers, post_data,
996  post_data_len, TRUE);
997  }else {
998  task_navigate_bsc_t *task;
999 
1000  task = heap_alloc(sizeof(*task));
1001  task->bsc = create_callback(This, url, post_data, post_data_len, headers);
1003  }
1004 
1005  if(post_data)
1006  SafeArrayUnaccessData(post_array);
1007 
1008  return hres;
1009 }
#define TRUE
Definition: types.h:120
static BindStatusCallback * create_callback(DocHost *doc_host, LPCWSTR url, PBYTE post_data, ULONG post_data_len, LPCWSTR headers)
Definition: navigate.c:550
#define V_ARRAY(A)
Definition: oleauto.h:222
static HRESULT async_doc_navigate(DocHost *This, LPCWSTR url, LPCWSTR headers, PBYTE post_data, ULONG post_data_size, BOOL async_notif)
Definition: navigate.c:819
#define WARN(fmt,...)
Definition: debug.h:111
#define V_ISBYREF(A)
Definition: oleauto.h:217
vector< Header * > headers
Definition: sdkparse.cpp:39
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
Definition: safearray.c:1137
long LONG
Definition: pedump.c:60
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
static void navigate_bsc_proc(DocHost *This, task_header_t *t)
Definition: navigate.c:930
#define V_ARRAYREF(A)
Definition: oleauto.h:223
smooth NULL
Definition: ftsmooth.c:416
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1410
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
HRESULT hres
Definition: protocol.c:465
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define URL_APPLY_DEFAULT
Definition: shlwapi.h:1204
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
unsigned long DWORD
Definition: ntddk_ex.h:95
void set_doc_state(DocHost *This, READYSTATE doc_state)
Definition: dochost.c:234
static const CHAR post_data[]
Definition: protocol.c:217
void push_dochost_task(DocHost *This, task_header_t *task, task_proc_t proc, task_destr_t destr, BOOL send)
Definition: dochost.c:39
HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwFlags)
Definition: url.c:1817
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
task_header_t header
Definition: navigate.c:918
static void navigate_bsc_task_destr(task_header_t *t)
Definition: navigate.c:922
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
#define S_OK
Definition: intsafe.h:59
HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY *psa, UINT nDim, LONG *plUbound)
Definition: safearray.c:1033
#define ARRAY_SIZE(a)
Definition: main.h:24
UINT WINAPI SafeArrayGetElemsize(SAFEARRAY *psa)
Definition: safearray.c:1114
BindStatusCallback * bsc
Definition: navigate.c:919
#define URL_APPLY_GUESSSCHEME
Definition: shlwapi.h:1203
unsigned int ULONG
Definition: retypes.h:1
#define URL_APPLY_GUESSFILE
Definition: shlwapi.h:1202
WCHAR * LPWSTR
Definition: xmlstorage.h:184
BYTE * PBYTE
Definition: pedump.c:66
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
Definition: safearray.c:1168

Referenced by go_home().

◆ notify_download_state()

void notify_download_state ( DocHost dochost,
BOOL  is_downloading 
)

Definition at line 153 of file navigate.c.

154 {
155  DISPPARAMS dwl_dp = {NULL};
156  TRACE("(%x)\n", is_downloading);
157  dochost->busy = is_downloading ? VARIANT_TRUE : VARIANT_FALSE;
158  call_sink(dochost->cps.wbe2, is_downloading ? DISPID_DOWNLOADBEGIN : DISPID_DOWNLOADCOMPLETE, &dwl_dp);
159 }
VARIANT_BOOL busy
Definition: ieframe.h:155
#define DISPID_DOWNLOADCOMPLETE
Definition: webchild.h:39
ConnectionPointContainer cps
Definition: ieframe.h:173
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
Definition: events.c:391
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define DISPID_DOWNLOADBEGIN
Definition: webchild.h:41
ConnectionPoint * wbe2
Definition: ieframe.h:55
struct stdole::DISPPARAMS DISPPARAMS

Referenced by BindStatusCallback_OnStopBinding(), ClOleCommandTarget_Exec(), and navigate_bsc().

◆ on_before_navigate2()

static void on_before_navigate2 ( DocHost This,
LPCWSTR  url,
SAFEARRAY post_data,
LPWSTR  headers,
VARIANT_BOOL cancel 
)
static

Definition at line 578 of file navigate.c.

579 {
580  VARIANT var_url, var_flags, var_frame_name, var_post_data, var_post_data2, var_headers;
581  DISPPARAMS dispparams;
582  VARIANTARG params[7];
584  DWORD file_path_len = ARRAY_SIZE(file_path);
585 
586  dispparams.cArgs = 7;
587  dispparams.cNamedArgs = 0;
588  dispparams.rgdispidNamedArgs = NULL;
589  dispparams.rgvarg = params;
590 
592  V_BOOLREF(params) = cancel;
593 
595  V_VARIANTREF(params+1) = &var_headers;
596  V_VT(&var_headers) = VT_BSTR;
597  V_BSTR(&var_headers) = headers;
598 
600  V_VARIANTREF(params+2) = &var_post_data2;
601  V_VT(&var_post_data2) = (VT_BYREF|VT_VARIANT);
602  V_VARIANTREF(&var_post_data2) = &var_post_data;
603 
604  if(post_data) {
605  V_VT(&var_post_data) = VT_UI1|VT_ARRAY;
606  V_ARRAY(&var_post_data) = post_data;
607  }else {
608  V_VT(&var_post_data) = VT_EMPTY;
609  }
610 
612  V_VARIANTREF(params+3) = &var_frame_name;
613  V_VT(&var_frame_name) = VT_BSTR;
614  V_BSTR(&var_frame_name) = NULL;
615 
617  V_VARIANTREF(params+4) = &var_flags;
618  V_VT(&var_flags) = VT_I4;
619  V_I4(&var_flags) = 0;
620 
622  V_VARIANTREF(params+5) = &var_url;
623  V_VT(&var_url) = VT_BSTR;
624  if(PathCreateFromUrlW(url, file_path, &file_path_len, 0) == S_OK)
625  V_BSTR(&var_url) = SysAllocString(file_path);
626  else
627  V_BSTR(&var_url) = SysAllocString(url);
628 
629  V_VT(params+6) = (VT_DISPATCH);
630  V_DISPATCH(params+6) = (IDispatch*)This->wb;
631 
632  call_sink(This->cps.wbe2, DISPID_BEFORENAVIGATE2, &dispparams);
633 
634  SysFreeString(V_BSTR(&var_url));
635 }
#define DISPID_BEFORENAVIGATE2
Definition: exdispid.h:43
HRESULT WINAPI PathCreateFromUrlW(LPCWSTR pszUrl, LPWSTR pszPath, LPDWORD pcchPath, DWORD dwReserved)
Definition: path.c:3334
Definition: compat.h:1947
#define V_ARRAY(A)
Definition: oleauto.h:222
vector< Header * > headers
Definition: sdkparse.cpp:39
#define V_I4(A)
Definition: oleauto.h:247
#define V_DISPATCH(A)
Definition: oleauto.h:239
GLenum const GLfloat * params
Definition: glext.h:5645
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
Definition: events.c:391
#define V_BOOLREF(A)
Definition: oleauto.h:225
smooth NULL
Definition: ftsmooth.c:416
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
__wchar_t WCHAR
Definition: xmlstorage.h:180
static const WCHAR url[]
Definition: encode.c:1432
#define MAX_PATH
Definition: compat.h:26
unsigned long DWORD
Definition: ntddk_ex.h:95
static const CHAR post_data[]
Definition: protocol.c:217
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
#define S_OK
Definition: intsafe.h:59
#define ARRAY_SIZE(a)
Definition: main.h:24
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
struct stdole::DISPPARAMS DISPPARAMS
#define V_VARIANTREF(A)
Definition: oleauto.h:283
TCHAR file_path[MAX_PATH]
Definition: sndrec32.cpp:57

Referenced by async_doc_navigate(), doc_navigate_proc(), and navigate_bsc().

◆ set_dochost_url()

HRESULT set_dochost_url ( DocHost This,
const WCHAR url 
)

Definition at line 134 of file navigate.c.

135 {
136  WCHAR *new_url;
137 
138  if(url) {
139  new_url = heap_strdupW(url);
140  if(!new_url)
141  return E_OUTOFMEMORY;
142  }else {
143  new_url = NULL;
144  }
145 
146  heap_free(This->url);
147  This->url = new_url;
148 
149  This->container_vtbl->set_url(This, This->url);
150  return S_OK;
151 }
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static WCHAR * heap_strdupW(const WCHAR *str)
Definition: propsheet.c:178
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
static const WCHAR url[]
Definition: encode.c:1432
#define S_OK
Definition: intsafe.h:59
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by bind_to_object(), BindStatusCallback_OnProgress(), DocObjectService_FireNavigateComplete2(), and html_window_navigate().

◆ set_status_text()

static void set_status_text ( BindStatusCallback This,
ULONG  statuscode,
LPCWSTR  str 
)
static

Definition at line 102 of file navigate.c.

103 {
104  VARIANTARG arg;
105  DISPPARAMS dispparams = {&arg, NULL, 1, 0};
108 
109  if(!This->doc_host)
110  return;
111 
112  TRACE("(%p, %d, %s)\n", This, statuscode, debugstr_w(str));
113  buffer[0] = 0;
114  if (statuscode && str && *str) {
115  fmt[0] = 0;
116  /* the format string must have one "%s" for the str */
118  swprintf(buffer, fmt, str);
119  }
120 
121  V_VT(&arg) = VT_BSTR;
123  TRACE("=> %s\n", debugstr_w(V_BSTR(&arg)));
124 
125  call_sink(This->doc_host->cps.wbe2, DISPID_STATUSTEXTCHANGE, &dispparams);
126 
127  if(This->doc_host->frame)
128  IOleInPlaceFrame_SetStatusText(This->doc_host->frame, buffer);
129 
130  VariantClear(&arg);
131 
132 }
HINSTANCE ieframe_instance
Definition: ieframe_main.c:32
GLuint buffer
Definition: glext.h:5915
void * arg
Definition: msvc.h:10
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define DISPID_STATUSTEXTCHANGE
Definition: webchild.h:37
#define IDS_STATUSFMT_MAXLEN
Definition: resource.h:78
void call_sink(ConnectionPoint *This, DISPID dispid, DISPPARAMS *dispparams)
Definition: events.c:391
#define debugstr_w
Definition: kernel32.h:32
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1410
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
#define IDS_STATUSFMT_FIRST
Definition: resource.h:73
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define swprintf(buf, format,...)
Definition: sprintf.c:56
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
static const WCHAR emptyW[]
Definition: navigate.c:40
struct stdole::DISPPARAMS DISPPARAMS
Definition: dsound.c:943

Referenced by BindStatusCallback_OnProgress(), and BindStatusCallback_OnStopBinding().

◆ TargetFrame2_AddRef()

static ULONG WINAPI TargetFrame2_AddRef ( ITargetFrame2 iface)
static

Definition at line 1406 of file navigate.c.

1407 {
1409  return IUnknown_AddRef(This->outer);
1410 }
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_FindFrame()

static HRESULT WINAPI TargetFrame2_FindFrame ( ITargetFrame2 iface,
LPCWSTR  pszTargetName,
DWORD  dwFlags,
IUnknown **  ppunkTargetFrame 
)
static

Definition at line 1488 of file navigate.c.

1489 {
1491  FIXME("(%p)->(%s %x %p)\n", This, debugstr_w(pszTargetName), dwFlags, ppunkTargetFrame);
1492  return E_NOTIMPL;
1493 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetFrameMargins()

static HRESULT WINAPI TargetFrame2_GetFrameMargins ( ITargetFrame2 iface,
DWORD pdwWidth,
DWORD pdwHeight 
)
static

Definition at line 1481 of file navigate.c.

1482 {
1484  FIXME("(%p)->(%p %p)\n", This, pdwWidth, pdwHeight);
1485  return E_NOTIMPL;
1486 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetFrameName()

static HRESULT WINAPI TargetFrame2_GetFrameName ( ITargetFrame2 iface,
LPWSTR ppszFrameName 
)
static

Definition at line 1425 of file navigate.c.

1426 {
1428  FIXME("(%p)->(%p)\n", This, ppszFrameName);
1429  return E_NOTIMPL;
1430 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetFrameOptions()

static HRESULT WINAPI TargetFrame2_GetFrameOptions ( ITargetFrame2 iface,
DWORD pdwFlags 
)
static

Definition at line 1467 of file navigate.c.

1468 {
1470  FIXME("(%p)->(%p)\n", This, pdwFlags);
1471  return E_NOTIMPL;
1472 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetFramesContainer()

static HRESULT WINAPI TargetFrame2_GetFramesContainer ( ITargetFrame2 iface,
IOleContainer **  ppContainer 
)
static

Definition at line 1453 of file navigate.c.

1454 {
1456  FIXME("(%p)->(%p)\n", This, ppContainer);
1457  return E_NOTIMPL;
1458 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetFrameSrc()

static HRESULT WINAPI TargetFrame2_GetFrameSrc ( ITargetFrame2 iface,
LPWSTR ppszFrameSrc 
)
static

Definition at line 1446 of file navigate.c.

1447 {
1449  FIXME("(%p)->()\n", This);
1450  return E_NOTIMPL;
1451 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetParentFrame()

static HRESULT WINAPI TargetFrame2_GetParentFrame ( ITargetFrame2 iface,
IUnknown **  ppunkParent 
)
static

Definition at line 1432 of file navigate.c.

1433 {
1435  FIXME("(%p)->(%p)\n", This, ppunkParent);
1436  return E_NOTIMPL;
1437 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_GetTargetAlias()

static HRESULT WINAPI TargetFrame2_GetTargetAlias ( ITargetFrame2 iface,
LPCWSTR  pszTargetName,
LPWSTR ppszTargetAlias 
)
static

Definition at line 1495 of file navigate.c.

1496 {
1498  FIXME("(%p)->(%s %p)\n", This, debugstr_w(pszTargetName), ppszTargetAlias);
1499  return E_NOTIMPL;
1500 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_QueryInterface()

static HRESULT WINAPI TargetFrame2_QueryInterface ( ITargetFrame2 iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1400 of file navigate.c.

1401 {
1403  return IUnknown_QueryInterface(This->outer, riid, ppv);
1404 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_Release()

static ULONG WINAPI TargetFrame2_Release ( ITargetFrame2 iface)
static

Definition at line 1412 of file navigate.c.

1413 {
1415  return IUnknown_Release(This->outer);
1416 }
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_SetFrameMargins()

static HRESULT WINAPI TargetFrame2_SetFrameMargins ( ITargetFrame2 iface,
DWORD  dwWidth,
DWORD  dwHeight 
)
static

Definition at line 1474 of file navigate.c.

1475 {
1477  FIXME("(%p)->(%d %d)\n", This, dwWidth, dwHeight);
1478  return E_NOTIMPL;
1479 }
#define FIXME(fmt,...)
Definition: debug.h:110
static const WCHAR dwHeight[]
Definition: provider.c:63
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395
static const WCHAR dwWidth[]
Definition: provider.c:62

◆ TargetFrame2_SetFrameName()

static HRESULT WINAPI TargetFrame2_SetFrameName ( ITargetFrame2 iface,
LPCWSTR  pszFrameName 
)
static

Definition at line 1418 of file navigate.c.

1419 {
1421  FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameName));
1422  return E_NOTIMPL;
1423 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_SetFrameOptions()

static HRESULT WINAPI TargetFrame2_SetFrameOptions ( ITargetFrame2 iface,
DWORD  dwFlags 
)
static

Definition at line 1460 of file navigate.c.

1461 {
1463  FIXME("(%p)->(%x)\n", This, dwFlags);
1464  return E_NOTIMPL;
1465 }
#define FIXME(fmt,...)
Definition: debug.h:110
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame2_SetFrameSrc()

static HRESULT WINAPI TargetFrame2_SetFrameSrc ( ITargetFrame2 iface,
LPCWSTR  pszFrameSrc 
)
static

Definition at line 1439 of file navigate.c.

1440 {
1442  FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameSrc));
1443  return E_NOTIMPL;
1444 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99
static HlinkFrame * impl_from_ITargetFrame2(ITargetFrame2 *iface)
Definition: navigate.c:1395

◆ TargetFrame_AddRef()

static ULONG WINAPI TargetFrame_AddRef ( ITargetFrame iface)
static

Definition at line 1263 of file navigate.c.

1264 {
1266  return IUnknown_AddRef(This->outer);
1267 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252

◆ TargetFrame_FindFrame()

static HRESULT WINAPI TargetFrame_FindFrame ( ITargetFrame iface,
LPCWSTR  pszTargetName,
IUnknown ppunkContextFrame,
DWORD  dwFlags,
IUnknown **  ppunkTargetFrame 
)
static

Definition at line 1296 of file navigate.c.

1298 {
1300  FIXME("(%p)->(%s %p %x %p)\n", This, debugstr_w(pszTargetName),
1301  ppunkContextFrame, dwFlags, ppunkTargetFrame);
1302  return E_NOTIMPL;
1303 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_GetFrameMargins()

static HRESULT WINAPI TargetFrame_GetFrameMargins ( ITargetFrame iface,
DWORD pdwWidth,
DWORD pdwHeight 
)
static

Definition at line 1347 of file navigate.c.

1348 {
1350  FIXME("(%p)->(%p %p)\n", This, pdwWidth, pdwHeight);
1351  return E_NOTIMPL;
1352 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_GetFrameName()

static HRESULT WINAPI TargetFrame_GetFrameName ( ITargetFrame iface,
LPWSTR ppszFrameName 
)
static

Definition at line 1282 of file navigate.c.

1283 {
1285  FIXME("(%p)->(%p)\n", This, ppszFrameName);
1286  return E_NOTIMPL;
1287 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_GetFrameOptions()

static HRESULT WINAPI TargetFrame_GetFrameOptions ( ITargetFrame iface,
DWORD pdwFlags 
)
static

Definition at line 1333 of file navigate.c.

1334 {
1336  FIXME("(%p)->(%p)\n", This, pdwFlags);
1337  return E_NOTIMPL;
1338 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_GetFramesContainer()

static HRESULT WINAPI TargetFrame_GetFramesContainer ( ITargetFrame iface,
IOleContainer **  ppContainer 
)
static

Definition at line 1319 of file navigate.c.

1320 {
1322  FIXME("(%p)->(%p)\n", This, ppContainer);
1323  return E_NOTIMPL;
1324 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_GetFrameSrc()

static HRESULT WINAPI TargetFrame_GetFrameSrc ( ITargetFrame iface,
LPWSTR ppszFrameSrc 
)
static

Definition at line 1312 of file navigate.c.

1313 {
1315  FIXME("(%p)->(%p)\n", This, ppszFrameSrc);
1316  return E_NOTIMPL;
1317 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_GetParentFrame()

static HRESULT WINAPI TargetFrame_GetParentFrame ( ITargetFrame iface,
IUnknown **  ppunkParent 
)
static

Definition at line 1289 of file navigate.c.

1290 {
1292  FIXME("(%p)->(%p)\n", This, ppunkParent);
1293  return E_NOTIMPL;
1294 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_OnChildFrameActivate()

static HRESULT WINAPI TargetFrame_OnChildFrameActivate ( ITargetFrame iface,
IUnknown pUnkChildFrame 
)
static

Definition at line 1361 of file navigate.c.

1362 {
1364  FIXME("(%p)->(%p)\n", This, pUnkChildFrame);
1365  return E_NOTIMPL;
1366 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_OnChildFrameDeactivate()

static HRESULT WINAPI TargetFrame_OnChildFrameDeactivate ( ITargetFrame iface,
IUnknown pUnkChildFrame 
)
static

Definition at line 1368 of file navigate.c.

1369 {
1371  FIXME("(%p)->(%p)\n", This, pUnkChildFrame);
1372  return E_NOTIMPL;
1373 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_QueryInterface()

static HRESULT WINAPI TargetFrame_QueryInterface ( ITargetFrame iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1257 of file navigate.c.

1258 {
1260  return IUnknown_QueryInterface(This->outer, riid, ppv);
1261 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252

◆ TargetFrame_Release()

static ULONG WINAPI TargetFrame_Release ( ITargetFrame iface)
static

Definition at line 1269 of file navigate.c.

1270 {
1272  return IUnknown_Release(This->outer);
1273 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252

◆ TargetFrame_RemoteNavigate()

static HRESULT WINAPI TargetFrame_RemoteNavigate ( ITargetFrame iface,
ULONG  cLength,
ULONG pulData 
)
static

Definition at line 1354 of file navigate.c.

1355 {
1357  FIXME("(%p)->(%u %p)\n", This, cLength, pulData);
1358  return E_NOTIMPL;
1359 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_SetFrameMargins()

static HRESULT WINAPI TargetFrame_SetFrameMargins ( ITargetFrame iface,
DWORD  dwWidth,
DWORD  dwHeight 
)
static

Definition at line 1340 of file navigate.c.

1341 {
1343  FIXME("(%p)->(%d %d)\n", This, dwWidth, dwHeight);
1344  return E_NOTIMPL;
1345 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
static const WCHAR dwHeight[]
Definition: provider.c:63
#define E_NOTIMPL
Definition: ddrawi.h:99
static const WCHAR dwWidth[]
Definition: provider.c:62

◆ TargetFrame_SetFrameName()

static HRESULT WINAPI TargetFrame_SetFrameName ( ITargetFrame iface,
LPCWSTR  pszFrameName 
)
static

Definition at line 1275 of file navigate.c.

1276 {
1278  FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameName));
1279  return E_NOTIMPL;
1280 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_SetFrameOptions()

static HRESULT WINAPI TargetFrame_SetFrameOptions ( ITargetFrame iface,
DWORD  dwFlags 
)
static

Definition at line 1326 of file navigate.c.

1327 {
1329  FIXME("(%p)->(%x)\n", This, dwFlags);
1330  return E_NOTIMPL;
1331 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define FIXME(fmt,...)
Definition: debug.h:110
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFrame_SetFrameSrc()

static HRESULT WINAPI TargetFrame_SetFrameSrc ( ITargetFrame iface,
LPCWSTR  pszFrameSrc 
)
static

Definition at line 1305 of file navigate.c.

1306 {
1308  FIXME("(%p)->(%s)\n", This, debugstr_w(pszFrameSrc));
1309  return E_NOTIMPL;
1310 }
static HlinkFrame * impl_from_ITargetFrame(ITargetFrame *iface)
Definition: navigate.c:1252
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_AddRef()

static ULONG WINAPI TargetFramePriv2_AddRef ( ITargetFramePriv2 iface)
static

Definition at line 1531 of file navigate.c.

1532 {
1534  return IUnknown_AddRef(This->outer);
1535 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520

◆ TargetFramePriv2_AggregatedNavigation2()

static HRESULT WINAPI TargetFramePriv2_AggregatedNavigation2 ( ITargetFramePriv2 iface,
DWORD  grfHLNF,
LPBC  pbc,
IBindStatusCallback pibsc,
LPCWSTR  pszTargetName,
IUri pUri,
LPCWSTR  pszLocation 
)
static

Definition at line 1589 of file navigate.c.

1591 {
1593  IMoniker *mon;
1594  HRESULT hres;
1595 
1596  TRACE("(%p)->(%x %p %p %s %p %s)\n", This, grfHLNF, pbc, pibsc, debugstr_w(pszTargetName),
1597  pUri, debugstr_w(pszLocation));
1598 
1599  /*
1600  * NOTE: This is an undocumented function. It seems to be working the way it's implemented,
1601  * but I couldn't get its tests working. It's used by mshtml to load content in a new
1602  * instance of browser.
1603  */
1604 
1605  hres = CreateURLMonikerEx2(NULL, pUri, &mon, 0);
1606  if(FAILED(hres))
1607  return hres;
1608 
1609  hres = navigate_hlink(This->doc_host, mon, pbc, pibsc);
1610  IMoniker_Release(mon);
1611  return hres;
1612 }
static HRESULT navigate_hlink(DocHost *This, IMoniker *mon, IBindCtx *bindctx, IBindStatusCallback *callback)
Definition: navigate.c:1011
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
LONG HRESULT
Definition: typedefs.h:77
HRESULT WINAPI CreateURLMonikerEx2(IMoniker *pmkContext, IUri *pUri, IMoniker **ppmk, DWORD dwFlags)
Definition: umon.c:668

◆ TargetFramePriv2_FindBrowserByIndex()

static HRESULT WINAPI TargetFramePriv2_FindBrowserByIndex ( ITargetFramePriv2 iface,
DWORD  dwID,
IUnknown **  ppunkBrowser 
)
static

Definition at line 1582 of file navigate.c.

1583 {
1585  FIXME("(%p)->(%d %p)\n", This, dwID, ppunkBrowser);
1586  return E_NOTIMPL;
1587 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_FindFrameDownwards()

static HRESULT WINAPI TargetFramePriv2_FindFrameDownwards ( ITargetFramePriv2 iface,
LPCWSTR  pszTargetName,
DWORD  dwFlags,
IUnknown **  ppunkTargetFrame 
)
static

Definition at line 1543 of file navigate.c.

1545 {
1547  FIXME("(%p)->(%s %x %p)\n", This, debugstr_w(pszTargetName), dwFlags, ppunkTargetFrame);
1548  return E_NOTIMPL;
1549 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_FindFrameInContext()

static HRESULT WINAPI TargetFramePriv2_FindFrameInContext ( ITargetFramePriv2 iface,
LPCWSTR  pszTargetName,
IUnknown punkContextFrame,
DWORD  dwFlags,
IUnknown **  ppunkTargetFrame 
)
static

Definition at line 1551 of file navigate.c.

1553 {
1555  FIXME("(%p)->(%s %p %x %p)\n", This, debugstr_w(pszTargetName), punkContextFrame, dwFlags, ppunkTargetFrame);
1556  return E_NOTIMPL;
1557 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_NavigateHack()

static HRESULT WINAPI TargetFramePriv2_NavigateHack ( ITargetFramePriv2 iface,
DWORD  grfHLNF,
LPBC  pbc,
IBindStatusCallback pibsc,
LPCWSTR  pszTargetName,
LPCWSTR  pszUrl,
LPCWSTR  pszLocation 
)
static

Definition at line 1573 of file navigate.c.

1575 {
1577  FIXME("(%p)->(%x %p %p %s %s %s)\n", This, grfHLNF, pbc, pibsc, debugstr_w(pszTargetName),
1578  debugstr_w(pszUrl), debugstr_w(pszLocation));
1579  return E_NOTIMPL;
1580 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_OnChildFrameActivate()

static HRESULT WINAPI TargetFramePriv2_OnChildFrameActivate ( ITargetFramePriv2 iface,
IUnknown pUnkChildFrame 
)
static

Definition at line 1559 of file navigate.c.

1560 {
1562  FIXME("(%p)->(%p)\n", This, pUnkChildFrame);
1563  return E_NOTIMPL;
1564 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_OnChildFrameDeactivate()

static HRESULT WINAPI TargetFramePriv2_OnChildFrameDeactivate ( ITargetFramePriv2 iface,
IUnknown pUnkChildFrame 
)
static

Definition at line 1566 of file navigate.c.

1567 {
1569  FIXME("(%p)->(%p)\n", This, pUnkChildFrame);
1570  return E_NOTIMPL;
1571 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TargetFramePriv2_QueryInterface()

static HRESULT WINAPI TargetFramePriv2_QueryInterface ( ITargetFramePriv2 iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1525 of file navigate.c.

1526 {
1528  return IUnknown_QueryInterface(This->outer, riid, ppv);
1529 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520

◆ TargetFramePriv2_Release()

static ULONG WINAPI TargetFramePriv2_Release ( ITargetFramePriv2 iface)
static

Definition at line 1537 of file navigate.c.

1538 {
1540  return IUnknown_Release(This->outer);
1541 }
static HlinkFrame * impl_from_ITargetFramePriv2(ITargetFramePriv2 *iface)
Definition: navigate.c:1520

◆ try_application_url()

static BOOL try_application_url ( LPCWSTR  url)
static

Definition at line 638 of file navigate.c.

639 {
640  SHELLEXECUTEINFOW exec_info;
641  WCHAR app[64];
642  HKEY hkey;
643  DWORD res, type;
644  HRESULT hres;
645 
646  static const WCHAR wszURLProtocol[] = {'U','R','L',' ','P','r','o','t','o','c','o','l',0};
647 
648  hres = CoInternetParseUrl(url, PARSE_SCHEMA, 0, app, ARRAY_SIZE(app), NULL, 0);
649  if(FAILED(hres))
650  return FALSE;
651 
652  res = RegOpenKeyW(HKEY_CLASSES_ROOT, app, &hkey);
653  if(res != ERROR_SUCCESS)
654  return FALSE;
655 
656  res = RegQueryValueExW(hkey, wszURLProtocol, NULL, &type, NULL, NULL);
657  RegCloseKey(hkey);
658  if(res != ERROR_SUCCESS || type != REG_SZ)
659  return FALSE;
660 
661  TRACE("opening application %s\n", debugstr_w(app));
662 
663  memset(&exec_info, 0, sizeof(exec_info));
664  exec_info.cbSize = sizeof(exec_info);
665  exec_info.lpFile = url;
666  exec_info.nShow = SW_SHOW;
667 
668  return ShellExecuteExW(&exec_info);
669 }
#define ERROR_SUCCESS
Definition: deptool.c:10
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
Definition: internet.c:392
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3296
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
Definition: shlexec.cpp:2235
#define SW_SHOW
Definition: winuser.h:769
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT hres
Definition: protocol.c:465
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4116
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ARRAY_SIZE(a)
Definition: main.h:24
GLuint res
Definition: glext.h:9613
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10
#define memset(x, y, z)
Definition: compat.h:39
#define REG_SZ
Definition: layer.c:22

Referenced by bind_to_object().

◆ WebBrowserPriv2IE9_AddRef()

static ULONG WINAPI WebBrowserPriv2IE9_AddRef ( IWebBrowserPriv2IE9 iface)
static

Definition at line 1638 of file navigate.c.

1639 {
1641  return IUnknown_AddRef(This->outer);
1642 }
static HlinkFrame * impl_from_IWebBrowserPriv2IE9(IWebBrowserPriv2IE9 *iface)
Definition: navigate.c:1627

◆ WebBrowserPriv2IE9_NavigateWithBindCtx2()

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

Definition at line 1650 of file navigate.c.

1652 {
1654  FIXME("(%p)->(%p %s %s %s %s %p %s)\n", This, uri, debugstr_variant(flags), debugstr_variant(target_frame),
1655  debugstr_variant(post_data), debugstr_variant(headers), bind_ctx, debugstr_w(url_fragment));
1656  return E_NOTIMPL;
1657 }
const char * uri
Definition: sec_mgr.c:1594
vector< Header * > headers
Definition: sdkparse.cpp:39
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
static HlinkFrame * impl_from_IWebBrowserPriv2IE9(IWebBrowserPriv2IE9 *iface)
Definition: navigate.c:1627
GLbitfield flags
Definition: glext.h:7161
static const CHAR post_data[]
Definition: protocol.c:217
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ WebBrowserPriv2IE9_QueryInterface()

static HRESULT WINAPI WebBrowserPriv2IE9_QueryInterface ( IWebBrowserPriv2IE9 iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 1632 of file navigate.c.

1633 {
1635  return IUnknown_QueryInterface(This->outer, riid, ppv);
1636 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HlinkFrame * impl_from_IWebBrowserPriv2IE9(IWebBrowserPriv2IE9 *iface)
Definition: navigate.c:1627

◆ WebBrowserPriv2IE9_Release()

static ULONG WINAPI WebBrowserPriv2IE9_Release ( IWebBrowserPriv2IE9 iface)
static

Definition at line 1644 of file navigate.c.

1645 {
1647  return IUnknown_Release(This->outer);
1648 }
static HlinkFrame * impl_from_IWebBrowserPriv2IE9(IWebBrowserPriv2IE9 *iface)
Definition: navigate.c:1627

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( ieframe  )

Variable Documentation

◆ BindStatusCallbackVtbl

const IBindStatusCallbackVtbl BindStatusCallbackVtbl
static
Initial value:
= {
}
static HRESULT WINAPI BindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
Definition: navigate.c:416
static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
Definition: navigate.c:360
static HRESULT WINAPI BindStatusCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
Definition: navigate.c:241
static HRESULT WINAPI BindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
Definition: navigate.c:408
static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
Definition: navigate.c:386
static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
Definition: navigate.c:276
static ULONG WINAPI BindStatusCallback_AddRef(IBindStatusCallback *iface)
Definition: navigate.c:196
static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pbind)
Definition: navigate.c:228
static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface)
Definition: navigate.c:206
static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
Definition: navigate.c:166
static HRESULT WINAPI BindStatusCallback_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
Definition: navigate.c:249

Definition at line 426 of file navigate.c.

Referenced by create_callback().

◆ emptyW

◆ HlinkFrameVtbl

const IHlinkFrameVtbl HlinkFrameVtbl
static
Initial value:
= {
}
static ULONG WINAPI HlinkFrame_AddRef(IHlinkFrame *iface)
Definition: navigate.c:1164
static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface, IHlinkBrowseContext **ppihlbc)
Definition: navigate.c:1184
static HRESULT WINAPI HlinkFrame_QueryInterface(IHlinkFrame *iface, REFIID riid, void **ppv)
Definition: navigate.c:1158
static ULONG WINAPI HlinkFrame_Release(IHlinkFrame *iface)
Definition: navigate.c:1170
static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface, IHlinkBrowseContext *pihlbc)
Definition: navigate.c:1176
static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, IHlink *pihlNavigate)
Definition: navigate.c:1192
static HRESULT WINAPI HlinkFrame_UpdateHlink(IHlinkFrame *iface, ULONG uHLID, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
Definition: navigate.c:1232
static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF, IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved)
Definition: navigate.c:1223

Definition at line 1241 of file navigate.c.

Referenced by HlinkFrame_Init().

◆ HttpNegotiateVtbl

const IHttpNegotiateVtbl HttpNegotiateVtbl
static
Initial value:
= {
}
static HRESULT WINAPI HttpNegotiate_BeginningTransaction(IHttpNegotiate *iface, LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders)
Definition: navigate.c:464
static ULONG WINAPI HttpNegotiate_AddRef(IHttpNegotiate *iface)
Definition: navigate.c:452
static HRESULT WINAPI HttpNegotiate_QueryInterface(IHttpNegotiate *iface, REFIID riid, void **ppv)
Definition: navigate.c:445
static ULONG WINAPI HttpNegotiate_Release(IHttpNegotiate *iface)
Definition: navigate.c:458
static HRESULT WINAPI HttpNegotiate_OnResponse(IHttpNegotiate *iface, DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders, LPWSTR *pszAdditionalRequestHeaders)
Definition: navigate.c:481

Definition at line 491 of file navigate.c.

Referenced by create_callback().

◆ HttpSecurityVtbl

const IHttpSecurityVtbl HttpSecurityVtbl
static
Initial value:
= {
}
static HRESULT WINAPI HttpSecurity_QueryInterface(IHttpSecurity *iface, REFIID riid, void **ppv)
Definition: navigate.c:504
static ULONG WINAPI HttpSecurity_AddRef(IHttpSecurity *iface)
Definition: navigate.c:510
static ULONG WINAPI HttpSecurity_Release(IHttpSecurity *iface)
Definition: navigate.c:516
static HRESULT WINAPI HttpSecurity_GetWindow(IHttpSecurity *iface, REFGUID rguidReason, HWND *phwnd)
Definition: navigate.c:522
static HRESULT WINAPI HttpSecurity_OnSecurityProblem(IHttpSecurity *iface, DWORD dwProblem)
Definition: navigate.c:535

Definition at line 542 of file navigate.c.

Referenced by create_callback().

◆ TargetFrame2Vtbl

const ITargetFrame2Vtbl TargetFrame2Vtbl
static
Initial value:
= {
}
static HRESULT WINAPI TargetFrame2_GetFrameOptions(ITargetFrame2 *iface, DWORD *pdwFlags)
Definition: navigate.c:1467
static HRESULT WINAPI TargetFrame2_GetParentFrame(ITargetFrame2 *iface, IUnknown **ppunkParent)
Definition: navigate.c:1432
static HRESULT WINAPI TargetFrame2_GetFrameName(ITargetFrame2 *iface, LPWSTR *ppszFrameName)
Definition: navigate.c:1425
static HRESULT WINAPI TargetFrame2_SetFrameMargins(ITargetFrame2 *iface, DWORD dwWidth, DWORD dwHeight)
Definition: navigate.c:1474
static HRESULT WINAPI TargetFrame2_GetFramesContainer(ITargetFrame2 *iface, IOleContainer **ppContainer)
Definition: navigate.c:1453
static HRESULT WINAPI TargetFrame2_SetFrameOptions(ITargetFrame2 *iface, DWORD dwFlags)
Definition: navigate.c:1460
static HRESULT WINAPI TargetFrame2_SetFrameName(ITargetFrame2 *iface, LPCWSTR pszFrameName)
Definition: navigate.c:1418
static HRESULT WINAPI TargetFrame2_SetFrameSrc(ITargetFrame2 *iface, LPCWSTR pszFrameSrc)
Definition: navigate.c:1439
static HRESULT WINAPI TargetFrame2_GetFrameMargins(ITargetFrame2 *iface, DWORD *pdwWidth, DWORD *pdwHeight)
Definition: navigate.c:1481
static HRESULT WINAPI TargetFrame2_QueryInterface(ITargetFrame2 *iface, REFIID riid, void **ppv)
Definition: navigate.c:1400
static ULONG WINAPI TargetFrame2_AddRef(ITargetFrame2 *iface)
Definition: navigate.c:1406
static HRESULT WINAPI TargetFrame2_GetTargetAlias(ITargetFrame2 *iface, LPCWSTR pszTargetName, LPWSTR *ppszTargetAlias)
Definition: navigate.c:1495
static HRESULT WINAPI TargetFrame2_FindFrame(ITargetFrame2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
Definition: navigate.c:1488
static ULONG WINAPI TargetFrame2_Release(ITargetFrame2 *iface)
Definition: navigate.c:1412
static HRESULT WINAPI TargetFrame2_GetFrameSrc(ITargetFrame2 *iface, LPWSTR *ppszFrameSrc)
Definition: navigate.c:1446

Definition at line 1502 of file navigate.c.

Referenced by HlinkFrame_Init().

◆ TargetFramePriv2Vtbl

const ITargetFramePriv2Vtbl TargetFramePriv2Vtbl
static
Initial value:
= {
}
static HRESULT WINAPI TargetFramePriv2_OnChildFrameActivate(ITargetFramePriv2 *iface, IUnknown *pUnkChildFrame)
Definition: navigate.c:1559
static HRESULT WINAPI TargetFramePriv2_NavigateHack(ITargetFramePriv2 *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, LPCWSTR pszTargetName, LPCWSTR pszUrl, LPCWSTR pszLocation)
Definition: navigate.c:1573
static HRESULT WINAPI TargetFramePriv2_FindFrameInContext(ITargetFramePriv2 *iface, LPCWSTR pszTargetName, IUnknown *punkContextFrame, DWORD dwFlags, IUnknown **ppunkTargetFrame)
Definition: navigate.c:1551
static HRESULT WINAPI TargetFramePriv2_FindFrameDownwards(ITargetFramePriv2 *iface, LPCWSTR pszTargetName, DWORD dwFlags, IUnknown **ppunkTargetFrame)
Definition: navigate.c:1543
static HRESULT WINAPI TargetFramePriv2_AggregatedNavigation2(ITargetFramePriv2 *iface, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pibsc, LPCWSTR pszTargetName, IUri *pUri, LPCWSTR pszLocation)
Definition: navigate.c:1589
static ULONG WINAPI TargetFramePriv2_Release(ITargetFramePriv2 *iface)
Definition: navigate.c:1537
static HRESULT WINAPI TargetFramePriv2_QueryInterface(ITargetFramePriv2 *iface, REFIID riid, void **ppv)
Definition: navigate.c:1525
static HRESULT WINAPI TargetFramePriv2_FindBrowserByIndex(ITargetFramePriv2 *iface, DWORD dwID, IUnknown **ppunkBrowser)
Definition: navigate.c:1582
static HRESULT WINAPI TargetFramePriv2_OnChildFrameDeactivate(ITargetFramePriv2 *iface, IUnknown *pUnkChildFrame)
Definition: navigate.c:1566
static ULONG WINAPI TargetFramePriv2_AddRef(ITargetFramePriv2 *iface)
Definition: navigate.c:1531

Definition at line 1614 of file navigate.c.

Referenced by HlinkFrame_Init().

◆ TargetFrameVtbl

const ITargetFrameVtbl TargetFrameVtbl
static
Initial value:
= {
}
static HRESULT WINAPI TargetFrame_RemoteNavigate(ITargetFrame *iface, ULONG cLength, ULONG *pulData)
Definition: navigate.c:1354
static HRESULT WINAPI TargetFrame_GetParentFrame(ITargetFrame *iface, IUnknown **ppunkParent)
Definition: navigate.c:1289
static HRESULT WINAPI TargetFrame_FindFrame(ITargetFrame *iface, LPCWSTR pszTargetName, IUnknown *ppunkContextFrame, DWORD dwFlags, IUnknown **ppunkTargetFrame)
Definition: navigate.c:1296
static HRESULT WINAPI TargetFrame_SetFrameName(ITargetFrame *iface, LPCWSTR pszFrameName)
Definition: navigate.c:1275
static HRESULT WINAPI TargetFrame_GetFrameName(ITargetFrame *iface, LPWSTR *ppszFrameName)
Definition: navigate.c:1282
static HRESULT WINAPI TargetFrame_SetFrameSrc(ITargetFrame *iface, LPCWSTR pszFrameSrc)
Definition: navigate.c:1305
static HRESULT WINAPI TargetFrame_GetFrameOptions(ITargetFrame *iface, DWORD *pdwFlags)
Definition: navigate.c:1333
static HRESULT WINAPI TargetFrame_GetFramesContainer(ITargetFrame *iface, IOleContainer **ppContainer)
Definition: navigate.c:1319
static HRESULT WINAPI TargetFrame_SetFrameOptions(ITargetFrame *iface, DWORD dwFlags)
Definition: navigate.c:1326
static HRESULT WINAPI TargetFrame_QueryInterface(ITargetFrame *iface, REFIID riid, void **ppv)
Definition: navigate.c:1257
static ULONG WINAPI TargetFrame_Release(ITargetFrame *iface)
Definition: navigate.c:1269
static HRESULT WINAPI TargetFrame_GetFrameMargins(ITargetFrame *iface, DWORD *pdwWidth, DWORD *pdwHeight)
Definition: navigate.c:1347
static HRESULT WINAPI TargetFrame_GetFrameSrc(ITargetFrame *iface, LPWSTR *ppszFrameSrc)
Definition: navigate.c:1312
static HRESULT WINAPI TargetFrame_SetFrameMargins(ITargetFrame *iface, DWORD dwWidth, DWORD dwHeight)
Definition: navigate.c:1340
static HRESULT WINAPI TargetFrame_OnChildFrameActivate(ITargetFrame *iface, IUnknown *pUnkChildFrame)
Definition: navigate.c:1361
static ULONG WINAPI TargetFrame_AddRef(ITargetFrame *iface)
Definition: navigate.c:1263
static HRESULT WINAPI TargetFrame_OnChildFrameDeactivate(ITargetFrame *iface, IUnknown *pUnkChildFrame)
Definition: navigate.c:1368

Definition at line 1375 of file navigate.c.

Referenced by HlinkFrame_Init().

◆ WebBrowserPriv2IE9Vtbl

const IWebBrowserPriv2IE9Vtbl WebBrowserPriv2IE9Vtbl
static
Initial value:
= {
}
static ULONG WINAPI WebBrowserPriv2IE9_Release(IWebBrowserPriv2IE9 *iface)
Definition: navigate.c:1644
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)
Definition: navigate.c:1650
static HRESULT WINAPI WebBrowserPriv2IE9_QueryInterface(IWebBrowserPriv2IE9 *iface, REFIID riid, void **ppv)
Definition: navigate.c:1632
static ULONG WINAPI WebBrowserPriv2IE9_AddRef(IWebBrowserPriv2IE9 *iface)
Definition: navigate.c:1638

Definition at line 1659 of file navigate.c.

Referenced by HlinkFrame_Init().