https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fc19c80d5239ca61c38fb…
commit fc19c80d5239ca61c38fb8a99746a842b19eebff
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Thu Mar 15 12:26:26 2018 +0100
Commit: Amine Khaldi <amine.khaldi(a)reactos.org>
CommitDate: Thu Mar 15 12:26:26 2018 +0100
[IEFRAME] Sync with Wine Staging 3.3. CORE-14434
---
dll/win32/ieframe/CMakeLists.txt | 4 +-
dll/win32/ieframe/classinfo.c | 4 ++
dll/win32/ieframe/client.c | 9 +++++
dll/win32/ieframe/dochost.c | 9 ++++-
dll/win32/ieframe/events.c | 6 +++
dll/win32/ieframe/frame.c | 4 ++
dll/win32/ieframe/ie.c | 4 ++
dll/win32/ieframe/ieframe.h | 77 +++++++++++----------------------------
dll/win32/ieframe/ieframe.rc | 5 +--
dll/win32/ieframe/ieframe_main.c | 10 ++++-
dll/win32/ieframe/iehtmlwnd.c | 4 ++
dll/win32/ieframe/iexplore.c | 28 +++++++++++---
dll/win32/ieframe/intshcut.c | 16 ++++++++
dll/win32/ieframe/navigate.c | 15 +++++++-
dll/win32/ieframe/oleobject.c | 10 +++++
dll/win32/ieframe/persist.c | 4 ++
dll/win32/ieframe/precomp.h | 31 ++++++++++++++++
dll/win32/ieframe/resource.h | 3 ++
dll/win32/ieframe/shellbrowser.c | 8 +++-
dll/win32/ieframe/shelluihelper.c | 4 ++
dll/win32/ieframe/urlhist.c | 5 ++-
dll/win32/ieframe/view.c | 6 ++-
dll/win32/ieframe/webbrowser.c | 7 ++++
media/doc/README.WINE | 2 +-
24 files changed, 202 insertions(+), 73 deletions(-)
diff --git a/dll/win32/ieframe/CMakeLists.txt b/dll/win32/ieframe/CMakeLists.txt
index 3cbc2acb26..bf7b6034cd 100644
--- a/dll/win32/ieframe/CMakeLists.txt
+++ b/dll/win32/ieframe/CMakeLists.txt
@@ -22,7 +22,7 @@ list(APPEND SOURCE
urlhist.c
view.c
webbrowser.c
- ieframe.h
+ precomp.h
${CMAKE_CURRENT_BINARY_DIR}/ieframe_stubs.c)
add_library(ieframe SHARED
@@ -42,5 +42,5 @@ add_dependencies(ieframe stdole2)
set_module_type(ieframe win32dll)
target_link_libraries(ieframe uuid wine)
add_importlibs(ieframe urlmon shell32 comctl32 shlwapi oleaut32 ole32 user32 gdi32
advapi32 msvcrt kernel32 ntdll)
-add_pch(ieframe ieframe.h SOURCE)
+add_pch(ieframe precomp.h SOURCE)
add_cd_file(TARGET ieframe DESTINATION reactos/system32 FOR all)
diff --git a/dll/win32/ieframe/classinfo.c b/dll/win32/ieframe/classinfo.c
index 267064b00d..3fa77bb6ce 100644
--- a/dll/win32/ieframe/classinfo.c
+++ b/dll/win32/ieframe/classinfo.c
@@ -20,6 +20,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
/**********************************************************************
* Implement the IProvideClassInfo2 interface
*/
diff --git a/dll/win32/ieframe/client.c b/dll/win32/ieframe/client.c
index 36f1a59331..4846e28a05 100644
--- a/dll/win32/ieframe/client.c
+++ b/dll/win32/ieframe/client.c
@@ -16,8 +16,17 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include <stdio.h>
+
#include "ieframe.h"
+#include "mshtmdid.h"
+#include "idispids.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
static inline DocHost *impl_from_IOleClientSite(IOleClientSite *iface)
{
return CONTAINING_RECORD(iface, DocHost, IOleClientSite_iface);
diff --git a/dll/win32/ieframe/dochost.c b/dll/win32/ieframe/dochost.c
index 6213aa4d67..424868d62e 100644
--- a/dll/win32/ieframe/dochost.c
+++ b/dll/win32/ieframe/dochost.c
@@ -18,7 +18,14 @@
#include "ieframe.h"
-#include <initguid.h>
+#include "exdispid.h"
+#include "mshtml.h"
+#include "perhist.h"
+#include "initguid.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
DEFINE_OLEGUID(CGID_DocHostCmdPriv, 0x000214D4L, 0, 0);
diff --git a/dll/win32/ieframe/events.c b/dll/win32/ieframe/events.c
index 17bc7f1ce8..eef1c17e6c 100644
--- a/dll/win32/ieframe/events.c
+++ b/dll/win32/ieframe/events.c
@@ -22,8 +22,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include <string.h>
+
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
struct ConnectionPoint {
IConnectionPoint IConnectionPoint_iface;
diff --git a/dll/win32/ieframe/frame.c b/dll/win32/ieframe/frame.c
index 73fea3786e..d86c2714c9 100644
--- a/dll/win32/ieframe/frame.c
+++ b/dll/win32/ieframe/frame.c
@@ -18,6 +18,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
static inline DocHost *impl_from_IOleInPlaceFrame(IOleInPlaceFrame *iface)
{
return CONTAINING_RECORD(iface, DocHost, IOleInPlaceFrame_iface);
diff --git a/dll/win32/ieframe/ie.c b/dll/win32/ieframe/ie.c
index dc8e329330..d7e3aa150c 100644
--- a/dll/win32/ieframe/ie.c
+++ b/dll/win32/ieframe/ie.c
@@ -18,6 +18,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
static inline InternetExplorer *impl_from_IWebBrowser2(IWebBrowser2 *iface)
{
return CONTAINING_RECORD(iface, InternetExplorer, IWebBrowser2_iface);
diff --git a/dll/win32/ieframe/ieframe.h b/dll/win32/ieframe/ieframe.h
index bab08f4f6e..fc56da9e46 100644
--- a/dll/win32/ieframe/ieframe.h
+++ b/dll/win32/ieframe/ieframe.h
@@ -18,44 +18,33 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#ifndef _IEFRAME_H_
-#define _IEFRAME_H_
+#pragma once
-#include <stdio.h>
-
-#define WIN32_NO_STATUS
-#define _INC_WINDOWS
-#define COM_NO_WINDOWS_H
+#include <stdarg.h>
#define COBJMACROS
-#define NONAMELESSUNION
-#define NONAMELESSSTRUCT
-#include <windef.h>
-#include <winbase.h>
-#include <wingdi.h>
-#include <winreg.h>
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#ifdef __REACTOS__
#include <wincon.h>
-#include <shlobj.h>
-#include <mshtmhst.h>
-#include <mshtmdid.h>
-#include <exdispid.h>
-#include <htiface.h>
-#include <idispids.h>
-#include <intshcut.h>
-#include <perhist.h>
-#include <shellapi.h>
-#include <shlwapi.h>
-#include <shdeprecated.h>
-#include <docobjectservice.h>
-
-#include <wine/unicode.h>
-#include <wine/list.h>
-
-#include <wine/debug.h>
-WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
-
-#include "resource.h"
+#endif
+
+#include "ole2.h"
+#include "olectl.h"
+#include "shlobj.h"
+#include "mshtmhst.h"
+#include "exdisp.h"
+#include "hlink.h"
+#include "htiface.h"
+#include "shdeprecated.h"
+#include "docobjectservice.h"
+
+#include "wine/unicode.h"
+#include "wine/heap.h"
+#include "wine/list.h"
typedef struct ConnectionPoint ConnectionPoint;
typedef struct DocHost DocHost;
@@ -351,26 +340,6 @@ static inline void unlock_module(void) {
InterlockedDecrement(&module_ref);
}
-static inline void* __WINE_ALLOC_SIZE(1) heap_alloc(size_t size)
-{
- return HeapAlloc(GetProcessHeap(), 0, size);
-}
-
-static inline void* __WINE_ALLOC_SIZE(1) heap_alloc_zero(size_t size)
-{
- return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
-}
-
-static inline void* __WINE_ALLOC_SIZE(2) heap_realloc(void *mem, size_t size)
-{
- return HeapReAlloc(GetProcessHeap(), 0, mem, size);
-}
-
-static inline BOOL heap_free(void *mem)
-{
- return HeapFree(GetProcessHeap(), 0, mem);
-}
-
static inline LPWSTR heap_strdupW(LPCWSTR str)
{
LPWSTR ret = NULL;
@@ -416,5 +385,3 @@ static inline LPSTR co_strdupWtoA(LPCWSTR str)
WideCharToMultiByte(CP_ACP, 0, str, -1, ret, len, 0, 0);
return ret;
}
-
-#endif /* _IEFRAME_H_ */
diff --git a/dll/win32/ieframe/ieframe.rc b/dll/win32/ieframe/ieframe.rc
index 685c70470c..2c90628291 100644
--- a/dll/win32/ieframe/ieframe.rc
+++ b/dll/win32/ieframe/ieframe.rc
@@ -16,9 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include <windef.h>
-#include <winuser.h>
-
#include "resource.h"
#include <reactos/manifest_dll.rc>
@@ -77,7 +74,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define WINE_PRODUCTVERSION_STR "8.0.6001.18702"
#define WINE_EXTRAVALUES VALUE "OLESelfRegister",""
-#include <wine/wine_common_ver.rc>
+#include "wine/wine_common_ver.rc"
/* @makedep: ietoolbar.bmp */
IDB_IETOOLBAR BITMAP "resources/ietoolbar.bmp"
diff --git a/dll/win32/ieframe/ieframe_main.c b/dll/win32/ieframe/ieframe_main.c
index f1fddab0b7..a862f9afe5 100644
--- a/dll/win32/ieframe/ieframe_main.c
+++ b/dll/win32/ieframe/ieframe_main.c
@@ -18,7 +18,15 @@
#include "ieframe.h"
-#include <rpcproxy.h>
+#include "initguid.h"
+#include "rpcproxy.h"
+#include "shlguid.h"
+#include "isguids.h"
+#include "ieautomation.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
LONG module_ref = 0;
HINSTANCE ieframe_instance;
diff --git a/dll/win32/ieframe/iehtmlwnd.c b/dll/win32/ieframe/iehtmlwnd.c
index 9ab2e74db5..fe97c6373d 100644
--- a/dll/win32/ieframe/iehtmlwnd.c
+++ b/dll/win32/ieframe/iehtmlwnd.c
@@ -18,6 +18,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
static inline IEHTMLWindow *impl_from_IHTMLWindow2(IHTMLWindow2 *iface)
{
return CONTAINING_RECORD(iface, IEHTMLWindow, IHTMLWindow2_iface);
diff --git a/dll/win32/ieframe/iexplore.c b/dll/win32/ieframe/iexplore.c
index 1e93ea945c..3d581732ad 100644
--- a/dll/win32/ieframe/iexplore.c
+++ b/dll/win32/ieframe/iexplore.c
@@ -19,13 +19,31 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "ieframe.h"
+#define COBJMACROS
-#include <mshtmcid.h>
-#include <ddeml.h>
+#include <stdarg.h>
-#include <initguid.h>
-#include <ieautomation.h>
+#include "ieframe.h"
+#include "resource.h"
+
+#include "winuser.h"
+#include "wingdi.h"
+#include "winnls.h"
+#include "ole2.h"
+#include "exdisp.h"
+#include "oleidl.h"
+
+#include "mshtmcid.h"
+#include "shellapi.h"
+#include "winreg.h"
+#include "shlwapi.h"
+#include "intshcut.h"
+#include "ddeml.h"
+#include "ieautomation.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
#define IDI_APPICON 1
diff --git a/dll/win32/ieframe/intshcut.c b/dll/win32/ieframe/intshcut.c
index df357d4865..2376b1b424 100644
--- a/dll/win32/ieframe/intshcut.c
+++ b/dll/win32/ieframe/intshcut.c
@@ -27,8 +27,24 @@
* The installer for the Zuma Deluxe Popcap game is good for testing.
*/
+#include <stdio.h>
+
+#define NONAMELESSUNION
+
#include "ieframe.h"
+#include "shlobj.h"
+#include "shobjidl.h"
+#include "intshcut.h"
+#include "shellapi.h"
+#include "winreg.h"
+#include "shlwapi.h"
+#include "shlguid.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
typedef struct
{
IUniformResourceLocatorA IUniformResourceLocatorA_iface;
diff --git a/dll/win32/ieframe/navigate.c b/dll/win32/ieframe/navigate.c
index 39130e09f6..658857fadd 100644
--- a/dll/win32/ieframe/navigate.c
+++ b/dll/win32/ieframe/navigate.c
@@ -16,9 +16,22 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#define NONAMELESSUNION
+
#include "ieframe.h"
-#include <wininet.h>
+#include "exdispid.h"
+#include "shellapi.h"
+#include "winreg.h"
+#include "shlwapi.h"
+#include "wininet.h"
+#include "mshtml.h"
+#include "perhist.h"
+#include "resource.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
static const WCHAR emptyW[] = {0};
diff --git a/dll/win32/ieframe/oleobject.c b/dll/win32/ieframe/oleobject.c
index 01e1821df7..1ff9a92666 100644
--- a/dll/win32/ieframe/oleobject.c
+++ b/dll/win32/ieframe/oleobject.c
@@ -23,8 +23,18 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include <string.h>
+
#include "ieframe.h"
+#include "htiframe.h"
+#include "idispids.h"
+#include "mshtmdid.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
/* shlwapi.dll */
HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent);
diff --git a/dll/win32/ieframe/persist.c b/dll/win32/ieframe/persist.c
index e09f2045e0..4c890d7ebf 100644
--- a/dll/win32/ieframe/persist.c
+++ b/dll/win32/ieframe/persist.c
@@ -21,6 +21,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
/**********************************************************************
* Implement the IPersistStorage interface
*/
diff --git a/dll/win32/ieframe/precomp.h b/dll/win32/ieframe/precomp.h
new file mode 100644
index 0000000000..98cb77ff39
--- /dev/null
+++ b/dll/win32/ieframe/precomp.h
@@ -0,0 +1,31 @@
+
+#ifndef _IEFRAME_PRECOMP_H_
+#define _IEFRAME_PRECOMP_H_
+
+#include <stdio.h>
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+
+#include "ieframe.h"
+
+#include <wingdi.h>
+#include <winreg.h>
+#include <wincon.h>
+#include <mshtmdid.h>
+#include <exdispid.h>
+#include <idispids.h>
+#include <intshcut.h>
+#include <perhist.h>
+#include <shellapi.h>
+#include <shlwapi.h>
+
+#include <wine/debug.h>
+
+#include "resource.h"
+
+#endif /* !_IEFRAME_PRECOMP_H_ */
diff --git a/dll/win32/ieframe/resource.h b/dll/win32/ieframe/resource.h
index 81af1582d9..00c79beee7 100644
--- a/dll/win32/ieframe/resource.h
+++ b/dll/win32/ieframe/resource.h
@@ -20,6 +20,9 @@
#pragma once
+#include <windef.h>
+#include <winuser.h>
+
#define IDR_BROWSE_MAIN_MENU 1000
#define IDD_BROWSE_OPEN 1001
#define IDC_BROWSE_OPEN_URL 1002
diff --git a/dll/win32/ieframe/shellbrowser.c b/dll/win32/ieframe/shellbrowser.c
index 11ce0736d8..f75689e49a 100644
--- a/dll/win32/ieframe/shellbrowser.c
+++ b/dll/win32/ieframe/shellbrowser.c
@@ -19,9 +19,15 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include <assert.h>
+
#include "ieframe.h"
+#include "exdispid.h"
+#include "shlwapi.h"
-#include <assert.h>
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
static inline ShellBrowser *impl_from_IShellBrowser(IShellBrowser *iface)
{
diff --git a/dll/win32/ieframe/shelluihelper.c b/dll/win32/ieframe/shelluihelper.c
index b6c70300d6..cc636f6bdb 100644
--- a/dll/win32/ieframe/shelluihelper.c
+++ b/dll/win32/ieframe/shelluihelper.c
@@ -18,6 +18,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
struct ShellUIHelper {
IShellUIHelper2 IShellUIHelper2_iface;
LONG ref;
diff --git a/dll/win32/ieframe/urlhist.c b/dll/win32/ieframe/urlhist.c
index e15e312111..d963d9517c 100644
--- a/dll/win32/ieframe/urlhist.c
+++ b/dll/win32/ieframe/urlhist.c
@@ -17,8 +17,11 @@
*/
#include "ieframe.h"
+#include "urlhist.h"
-#include <urlhist.h>
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFIID riid,
void **ppv)
{
diff --git a/dll/win32/ieframe/view.c b/dll/win32/ieframe/view.c
index 021dd1bc77..546e2511a3 100644
--- a/dll/win32/ieframe/view.c
+++ b/dll/win32/ieframe/view.c
@@ -19,6 +19,10 @@
#include "ieframe.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
/**********************************************************************
* Implement the IViewObject interface
*/
@@ -56,7 +60,7 @@ static HRESULT WINAPI ViewObject_Draw(IViewObject2 *iface, DWORD
dwDrawAspect,
FIXME("(%p)->(%d %d %p %p %p %p %p %p %p %08lx)\n", This, dwDrawAspect,
lindex,
pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue,
dwContinue);
- return E_NOTIMPL;
+ return S_OK;
}
static HRESULT WINAPI ViewObject_GetColorSet(IViewObject2 *iface, DWORD dwAspect,
diff --git a/dll/win32/ieframe/webbrowser.c b/dll/win32/ieframe/webbrowser.c
index 88abd89f74..03acf38869 100644
--- a/dll/win32/ieframe/webbrowser.c
+++ b/dll/win32/ieframe/webbrowser.c
@@ -21,6 +21,13 @@
#include "ieframe.h"
+#include "exdispid.h"
+#include "mshtml.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ieframe);
+
static inline WebBrowser *impl_from_IWebBrowser2(IWebBrowser2 *iface)
{
return CONTAINING_RECORD(iface, WebBrowser, IWebBrowser2_iface);
diff --git a/media/doc/README.WINE b/media/doc/README.WINE
index 0fdb236751..24ceb481b9 100644
--- a/media/doc/README.WINE
+++ b/media/doc/README.WINE
@@ -74,7 +74,7 @@ reactos/dll/win32/hlink # Synced to WineStaging-3.3
reactos/dll/win32/hnetcfg # Synced to WineStaging-3.3
reactos/dll/win32/httpapi # Synced to WineStaging-3.3
reactos/dll/win32/iccvid # Synced to WineStaging-3.3
-reactos/dll/win32/ieframe # Synced to Wine-3.0
+reactos/dll/win32/ieframe # Synced to WineStaging-3.3
reactos/dll/win32/imaadp32.acm # Synced to WineStaging-2.16
reactos/dll/win32/imagehlp # Synced to Wine-3.0
reactos/dll/win32/imm32 # Synced to Wine-2.22