Module: wine Branch: master Commit: a40345cf84fdb79fc33c865e38aaa58d99dca703 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a40345cf84fdb79fc33c865e38...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Jul 26 12:03:33 2011 +0200
ieframe: Moved CUrlHistory implementation to ieframe.
---
dlls/ieframe/Makefile.in | 3 ++- dlls/ieframe/ieframe.h | 3 ++- dlls/ieframe/ieframe_main.c | 16 ++++++++++++++++ dlls/{shdocvw => ieframe}/urlhist.c | 11 ++++++----- dlls/shdocvw/Makefile.in | 1 - dlls/shdocvw/factory.c | 7 ++----- dlls/shdocvw/shdocvw.h | 1 - 7 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/dlls/ieframe/Makefile.in b/dlls/ieframe/Makefile.in index 129aab1..340beb0 100644 --- a/dlls/ieframe/Makefile.in +++ b/dlls/ieframe/Makefile.in @@ -4,6 +4,7 @@ IMPORTS = uuid urlmon shell32 ole32 advapi32
C_SRCS = \ ieframe_main.c \ - intshcut.c + intshcut.c \ + urlhist.c
@MAKE_DLL_RULES@ diff --git a/dlls/ieframe/ieframe.h b/dlls/ieframe/ieframe.h index e44b9c1..4e14eb9 100644 --- a/dlls/ieframe/ieframe.h +++ b/dlls/ieframe/ieframe.h @@ -32,7 +32,8 @@
#include "wine/unicode.h"
-HRESULT WINAPI InternetShortcut_Create(IClassFactory*,IUnknown*,REFIID,void**); +HRESULT WINAPI CUrlHistory_Create(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN; +HRESULT WINAPI InternetShortcut_Create(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
extern LONG module_ref DECLSPEC_HIDDEN;
diff --git a/dlls/ieframe/ieframe_main.c b/dlls/ieframe/ieframe_main.c index 225c33b..569c425 100644 --- a/dlls/ieframe/ieframe_main.c +++ b/dlls/ieframe/ieframe_main.c @@ -18,6 +18,7 @@
#include "ieframe.h"
+#include "shlguid.h" #include "isguids.h"
#include "wine/debug.h" @@ -75,6 +76,16 @@ static const IClassFactoryVtbl InternetShortcutFactoryVtbl = {
static IClassFactory InternetShortcutFactory = { &InternetShortcutFactoryVtbl };
+static const IClassFactoryVtbl CUrlHistoryFactoryVtbl = { + ClassFactory_QueryInterface, + ClassFactory_AddRef, + ClassFactory_Release, + CUrlHistory_Create, + ClassFactory_LockServer +}; + +static IClassFactory CUrlHistoryFactory = { &CUrlHistoryFactoryVtbl }; + /****************************************************************** * DllMain (ieframe.@) */ @@ -104,6 +115,11 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) return IClassFactory_QueryInterface(&InternetShortcutFactory, riid, ppv); }
+ if(IsEqualGUID(&CLSID_CUrlHistory, rclsid)) { + TRACE("(CLSID_CUrlHistory %s %p)\n", debugstr_guid(riid), ppv); + return IClassFactory_QueryInterface(&CUrlHistoryFactory, riid, ppv); + } + FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); return CLASS_E_CLASSNOTAVAILABLE; } diff --git a/dlls/shdocvw/urlhist.c b/dlls/ieframe/urlhist.c similarity index 95% rename from dlls/shdocvw/urlhist.c rename to dlls/ieframe/urlhist.c index c801718..89480df 100644 --- a/dlls/shdocvw/urlhist.c +++ b/dlls/ieframe/urlhist.c @@ -16,10 +16,11 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include "wine/debug.h" -#include "shdocvw.h" +#include "ieframe.h" #include "urlhist.h"
+#include "wine/debug.h" + WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFIID riid, void **ppv) @@ -48,13 +49,13 @@ static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFII
static ULONG WINAPI UrlHistoryStg_AddRef(IUrlHistoryStg2 *iface) { - SHDOCVW_LockModule(); + lock_module(); return 2; }
static ULONG WINAPI UrlHistoryStg_Release(IUrlHistoryStg2 *iface) { - SHDOCVW_UnlockModule(); + unlock_module(); return 1; }
@@ -122,7 +123,7 @@ static const IUrlHistoryStg2Vtbl UrlHistoryStg2Vtbl = {
static IUrlHistoryStg2 UrlHistoryStg2 = { &UrlHistoryStg2Vtbl };
-HRESULT CUrlHistory_Create(IUnknown *pOuter, REFIID riid, void **ppv) +HRESULT WINAPI CUrlHistory_Create(IClassFactory *iface, IUnknown *pOuter, REFIID riid, void **ppv) { if(pOuter) return CLASS_E_NOAGGREGATION; diff --git a/dlls/shdocvw/Makefile.in b/dlls/shdocvw/Makefile.in index d5dad46..7c13420 100644 --- a/dlls/shdocvw/Makefile.in +++ b/dlls/shdocvw/Makefile.in @@ -20,7 +20,6 @@ C_SRCS = \ shellbrowser.c \ shlinstobj.c \ taskbarlist.c \ - urlhist.c \ view.c \ webbrowser.c
diff --git a/dlls/shdocvw/factory.c b/dlls/shdocvw/factory.c index d8a4b11..d9f6d68 100644 --- a/dlls/shdocvw/factory.c +++ b/dlls/shdocvw/factory.c @@ -154,7 +154,6 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) { static IClassFactoryImpl WB1ClassFactory = {{&WBCF_Vtbl}, WebBrowserV1_Create}; static IClassFactoryImpl WB2ClassFactory = {{&WBCF_Vtbl}, WebBrowserV2_Create}; - static IClassFactoryImpl CUHClassFactory = {{&WBCF_Vtbl}, CUrlHistory_Create}; static IClassFactoryImpl TBLClassFactory = {{&WBCF_Vtbl}, TaskbarList_Create};
TRACE("\n"); @@ -165,10 +164,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) if(IsEqualGUID(&CLSID_WebBrowser_V1, rclsid)) return IClassFactory_QueryInterface(&WB1ClassFactory.IClassFactory_iface, riid, ppv);
- if(IsEqualGUID(&CLSID_CUrlHistory, rclsid)) - return IClassFactory_QueryInterface(&CUHClassFactory.IClassFactory_iface, riid, ppv); - - if(IsEqualGUID(&CLSID_InternetShortcut, rclsid)) + if(IsEqualGUID(&CLSID_InternetShortcut, rclsid) + || IsEqualGUID(&CLSID_CUrlHistory, rclsid)) return get_ieframe_object(rclsid, riid, ppv);
if(IsEqualGUID(&CLSID_TaskbarList, rclsid)) diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index bd65551..4522b65 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -258,7 +258,6 @@ void InternetExplorer_WebBrowser_Init(InternetExplorer*) DECLSPEC_HIDDEN;
void released_obj(void) DECLSPEC_HIDDEN;
-HRESULT CUrlHistory_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN; HRESULT TaskbarList_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
/**********************************************************************