Module: wine Branch: master Commit: 1190c8cbd6b10237f229da4d1fcc7624aac455c9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1190c8cbd6b10237f229da4d1f... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Nov 10 14:35:50 2011 +0100 mshtml: Use IUri in use_gecko_script. --- dlls/mshtml/persist.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index 2ad108d..ef80f8d 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -32,6 +32,9 @@ #include "shlguid.h" #include "idispids.h" +#define NO_SHLWAPI_REG +#include "shlwapi.h" + #include "wine/debug.h" #include "mshtml_private.h" @@ -50,11 +53,9 @@ typedef struct { static BOOL use_gecko_script(HTMLWindow *window) { - DWORD zone; + DWORD zone, scheme; HRESULT hres; - static const WCHAR aboutW[] = {'a','b','o','u','t',':'}; - hres = IInternetSecurityManager_MapUrlToZone(window->secmgr, window->url, &zone, 0); if(FAILED(hres)) { WARN("Could not map %s to zone: %08x\n", debugstr_w(window->url), hres); @@ -62,8 +63,11 @@ static BOOL use_gecko_script(HTMLWindow *window) } TRACE("zone %d\n", zone); - return zone != URLZONE_LOCAL_MACHINE && zone != URLZONE_TRUSTED - && strncmpiW(aboutW, window->url, sizeof(aboutW)/sizeof(WCHAR)); + if(zone == URLZONE_LOCAL_MACHINE || zone == URLZONE_TRUSTED || !window->uri) + return FALSE; + + hres = IUri_GetScheme(window->uri, &scheme); + return FAILED(hres) || scheme != URL_SCHEME_ABOUT; } void set_current_mon(HTMLWindow *This, IMoniker *mon)