Jacek Caban : ieframe: Moved CUrlHistory implementation to ieframe.
Alexandre Julliard
julliard at winehq.org
Tue Jul 26 11:37:57 CDT 2011
Module: wine
Branch: master
Commit: a40345cf84fdb79fc33c865e38aaa58d99dca703
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a40345cf84fdb79fc33c865e38aaa58d99dca703
Author: Jacek Caban <jacek at 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;
/**********************************************************************
More information about the wine-cvs
mailing list