urlmon: Added special URLACTION_SCRIPT_OVERRIDE_SAFETY handling.

This commit is contained in:
Jacek Caban 2008-03-14 12:42:42 +01:00 committed by Alexandre Julliard
parent 3a736c6677
commit 8ef6713acb
2 changed files with 25 additions and 0 deletions

View File

@ -176,6 +176,12 @@ static HRESULT get_action_policy(DWORD zone, DWORD action, BYTE *policy, DWORD s
LONG res;
HRESULT hres;
switch(action) {
case URLACTION_SCRIPT_OVERRIDE_SAFETY:
*(DWORD*)policy = URLPOLICY_DISALLOW;
return S_OK;
}
switch(zone_reg) {
case URLZONEREG_DEFAULT:
case URLZONEREG_HKCU:

View File

@ -856,6 +856,23 @@ static void test_url_action(IInternetSecurityManager *secmgr, IInternetZoneManag
}
}
static void test_special_url_action(IInternetSecurityManager *secmgr, IInternetZoneManager *zonemgr, DWORD action)
{
DWORD policy;
HRESULT hres;
policy = 0xdeadbeef;
hres = IInternetZoneManager_GetZoneActionPolicy(zonemgr, 3, action, (BYTE*)&policy,
sizeof(DWORD), URLZONEREG_DEFAULT);
ok(hres == S_OK, "GetZoneActionPolicy failed: %08x\n", hres);
ok(policy == URLPOLICY_DISALLOW, "(%x) policy=%x, expected URLPOLIVY_DISALLOW\n", action, policy);
policy = 0xdeadbeef;
hres = IInternetSecurityManager_ProcessUrlAction(secmgr, url1, action, (BYTE*)&policy,
sizeof(WCHAR), NULL, 0, 0, 0);
ok(hres == S_FALSE, "ProcessUrlAction(%x) failed: %08x, expected S_FALSE\n", action, hres);
}
static void test_polices(void)
{
IInternetZoneManager *zonemgr = NULL;
@ -872,6 +889,8 @@ static void test_polices(void)
test_url_action(secmgr, zonemgr, URLACTION_CHANNEL_SOFTDIST_PERMISSIONS);
test_url_action(secmgr, zonemgr, 0xdeadbeef);
test_special_url_action(secmgr, zonemgr, URLACTION_SCRIPT_OVERRIDE_SAFETY);
IInternetSecurityManager_Release(secmgr);
IInternetZoneManager_Release(zonemgr);
}