23static const WCHAR about_blankW[] = {
'a',
'b',
'o',
'u',
't',
':',
'b',
'l',
'a',
'n',
'k',0};
27 {0x10200490,0xfa38,0x11d0,{0xac,0x0e,0x00,0xa0,0xc9,0xf,0xff,0xc0}};
37 return IHTMLDOMNode_QueryInterface(&
This->node.IHTMLDOMNode_iface,
riid,
ppv);
43 return IHTMLDOMNode_AddRef(&
This->node.IHTMLDOMNode_iface);
49 return IHTMLDOMNode_Release(&
This->node.IHTMLDOMNode_iface);
68 if(!
This->basedoc.window)
73 return IInternetSecurityManager_ProcessUrlAction(
This->basedoc.window->secmgr,
url, dwAction, pPolicy, cbPolicy,
82 hres = IUnknown_QueryInterface(
cs->pUnk, &IID_IObjectSafety, (
void**)&obj_safety);
85 INTERFACESAFE_FOR_UNTRUSTED_DATA, INTERFACESAFE_FOR_UNTRUSTED_DATA);
86 IObjectSafety_Release(obj_safety);
89 CATID init_catid = CATID_SafeForInitializing;
91 hres = ICatInformation_IsClassOfCategories(
This->catmgr, &
cs->clsid, 1, &init_catid, 0,
NULL);
93 *
ret =
hres ==
S_OK ? URLPOLICY_ALLOW : URLPOLICY_DISALLOW;
109 hres = IInternetSecurityManager_ProcessUrlAction(
This->basedoc.window->secmgr,
url, URLACTION_SCRIPT_SAFE_ACTIVEX,
112 *
ret = URLPOLICY_DISALLOW;
116 hres = IUnknown_QueryInterface(
cs->pUnk, &IID_IObjectSafety, (
void**)&obj_safety);
118 hres = IObjectSafety_GetInterfaceSafetyOptions(obj_safety, &IID_IDispatchEx, &supported_opts, &enabled_opts);
122 enabled_opts = INTERFACESAFE_FOR_UNTRUSTED_CALLER;
123 if(supported_opts & INTERFACE_USES_SECURITY_MANAGER)
124 enabled_opts |= INTERFACE_USES_SECURITY_MANAGER;
126 hres = IObjectSafety_SetInterfaceSafetyOptions(obj_safety, &IID_IDispatchEx, enabled_opts, enabled_opts);
128 enabled_opts &= ~INTERFACE_USES_SECURITY_MANAGER;
129 hres = IObjectSafety_SetInterfaceSafetyOptions(obj_safety, &
IID_IDispatch, enabled_opts, enabled_opts);
131 IObjectSafety_Release(obj_safety);
134 *
ret = URLPOLICY_DISALLOW;
138 CATID scripting_catid = CATID_SafeForScripting;
142 &IID_ICatInformation, (
void**)&
This->catmgr);
147 hres = ICatInformation_IsClassOfCategories(
This->catmgr, &
cs->clsid, 1, &scripting_catid, 0,
NULL);
152 *
ret = URLPOLICY_DISALLOW;
157 if(
cs->dwFlags & CONFIRMSAFETYACTION_LOADOBJECT)
160 *
ret = URLPOLICY_ALLOW;
173 if(!
This->basedoc.window)
178 hres = IInternetSecurityManager_QueryCustomPolicy(
This->basedoc.window->secmgr,
url, guidKey, ppPolicy, pcbPolicy,
189 FIXME(
"wrong context size\n");
196 hres = IUnknown_QueryInterface(
cs->pUnk, &IID_IActiveScript, (
void**)&active_script);
198 FIXME(
"Got IAciveScript iface\n");
199 IActiveScript_Release(active_script);
212 *pcbPolicy =
sizeof(
policy);
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
WDF_INTERRUPT_POLICY policy
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define IsEqualGUID(rguid1, rguid2)
static const WCHAR about_blankW[]
static HRESULT WINAPI InternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager *iface, REFIID riid, void **ppv)
static ULONG WINAPI InternetHostSecurityManager_AddRef(IInternetHostSecurityManager *iface)
static HRESULT WINAPI InternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager *iface, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
static HRESULT WINAPI InternetHostSecurityManager_QueryCustomPolicy(IInternetHostSecurityManager *iface, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved)
static ULONG WINAPI InternetHostSecurityManager_Release(IInternetHostSecurityManager *iface)
static HTMLDocumentNode * impl_from_IInternetHostSecurityManager(IInternetHostSecurityManager *iface)
static const IInternetHostSecurityManagerVtbl InternetHostSecurityManagerVtbl
void HTMLDocumentNode_SecMgr_Init(HTMLDocumentNode *This)
static HRESULT WINAPI InternetHostSecurityManager_ProcessUrlAction(IInternetHostSecurityManager *iface, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
DECLSPEC_HIDDEN const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
static HRESULT confirm_safety(HTMLDocumentNode *This, const WCHAR *url, struct CONFIRMSAFETY *cs, DWORD *ret)
static HRESULT confirm_safety_load(HTMLDocumentNode *This, struct CONFIRMSAFETY *cs, DWORD *ret)
#define CONTAINING_RECORD(address, type, field)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define HRESULT_FROM_WIN32(x)