[IEFRAME]

* Sync with Wine 1.7.17.
CORE-8080

svn path=/trunk/; revision=63006
This commit is contained in:
Amine Khaldi 2014-04-26 18:39:56 +00:00
parent f550748eed
commit 530239d488
6 changed files with 55 additions and 3 deletions

View file

@ -74,6 +74,7 @@ typedef struct {
IHlinkFrame IHlinkFrame_iface;
ITargetFrame2 ITargetFrame2_iface;
ITargetFramePriv2 ITargetFramePriv2_iface;
IWebBrowserPriv2IE9 IWebBrowserPriv2IE9_iface;
IUnknown *outer;
DocHost *doc_host;

View file

@ -34,9 +34,13 @@ HKCR
{
shellex
{
MayChangeDefaultMenu {}
MayChangeDefaultMenu
}
}
'{8856f961-340a-11d0-a96b-00c04fd705a2}'
{
Control
}
}
'InternetShortcut'
{

View file

@ -16,6 +16,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#pragma makedep regtypelib
#pragma makedep register
#include "exdisp.idl"
[

View file

@ -1437,6 +1437,45 @@ static const ITargetFramePriv2Vtbl TargetFramePriv2Vtbl = {
TargetFramePriv2_AggregatedNavigation2
};
static inline HlinkFrame *impl_from_IWebBrowserPriv2IE9(IWebBrowserPriv2IE9 *iface)
{
return CONTAINING_RECORD(iface, HlinkFrame, IWebBrowserPriv2IE9_iface);
}
static HRESULT WINAPI WebBrowserPriv2IE9_QueryInterface(IWebBrowserPriv2IE9 *iface, REFIID riid, void **ppv)
{
HlinkFrame *This = impl_from_IWebBrowserPriv2IE9(iface);
return IUnknown_QueryInterface(This->outer, riid, ppv);
}
static ULONG WINAPI WebBrowserPriv2IE9_AddRef(IWebBrowserPriv2IE9 *iface)
{
HlinkFrame *This = impl_from_IWebBrowserPriv2IE9(iface);
return IUnknown_AddRef(This->outer);
}
static ULONG WINAPI WebBrowserPriv2IE9_Release(IWebBrowserPriv2IE9 *iface)
{
HlinkFrame *This = impl_from_IWebBrowserPriv2IE9(iface);
return IUnknown_Release(This->outer);
}
static HRESULT WINAPI WebBrowserPriv2IE9_NavigateWithBindCtx2(IWebBrowserPriv2IE9 *iface, IUri *uri, VARIANT *flags,
VARIANT *target_frame, VARIANT *post_data, VARIANT *headers, IBindCtx *bind_ctx, LPOLESTR url_fragment, DWORD unused)
{
HlinkFrame *This = impl_from_IWebBrowserPriv2IE9(iface);
FIXME("(%p)->(%p %s %s %s %s %p %s)\n", This, uri, debugstr_variant(flags), debugstr_variant(target_frame),
debugstr_variant(post_data), debugstr_variant(headers), bind_ctx, debugstr_w(url_fragment));
return E_NOTIMPL;
}
static const IWebBrowserPriv2IE9Vtbl WebBrowserPriv2IE9Vtbl = {
WebBrowserPriv2IE9_QueryInterface,
WebBrowserPriv2IE9_AddRef,
WebBrowserPriv2IE9_Release,
WebBrowserPriv2IE9_NavigateWithBindCtx2
};
BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
{
if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
@ -1451,6 +1490,9 @@ BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
}else if(IsEqualGUID(&IID_ITargetFramePriv2, riid)) {
TRACE("(%p)->(IID_ITargetFramePriv2 %p)\n", This, ppv);
*ppv = &This->ITargetFramePriv2_iface;
}else if(IsEqualGUID(&IID_IWebBrowserPriv2IE9, riid)) {
TRACE("(%p)->(IID_IWebBrowserPriv2IE9 %p)\n", This, ppv);
*ppv = &This->IWebBrowserPriv2IE9_iface;
}else {
return FALSE;
}
@ -1464,6 +1506,7 @@ void HlinkFrame_Init(HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
This->IHlinkFrame_iface.lpVtbl = &HlinkFrameVtbl;
This->ITargetFrame2_iface.lpVtbl = &TargetFrame2Vtbl;
This->ITargetFramePriv2_iface.lpVtbl = &TargetFramePriv2Vtbl;
This->IWebBrowserPriv2IE9_iface.lpVtbl = &WebBrowserPriv2IE9Vtbl;
This->outer = outer;
This->doc_host = doc_host;

View file

@ -688,7 +688,7 @@ static HRESULT WINAPI DocObjectService_FireBeforeNavigate2(
V_VT(params+3) = (VT_BYREF|VT_VARIANT);
V_VARIANTREF(params+3) = &var_frame_name;
V_VT(&var_frame_name) = VT_BSTR;
V_BSTR(&var_frame_name) = NULL;
V_BSTR(&var_frame_name) = lpszFrameName ? SysAllocString(lpszFrameName) : NULL;
V_VT(params+4) = (VT_BYREF|VT_VARIANT);
V_VARIANTREF(params+4) = &var_flags;
@ -709,6 +709,7 @@ static HRESULT WINAPI DocObjectService_FireBeforeNavigate2(
SysFreeString(V_BSTR(&var_url));
SysFreeString(V_BSTR(&var_headers));
SysFreeString(V_BSTR(&var_frame_name));
SafeArrayDestroy(post_data);
*pfCancel = !!cancel;

View file

@ -81,7 +81,7 @@ reactos/dll/win32/hnetcfg # Synced to Wine-1.7.1
reactos/dll/win32/httpapi # Synced to Wine-1.7.1
reactos/dll/win32/iccvid # Synced to Wine-1.7.1
reactos/dll/win32/icmp # Out of sync
reactos/dll/win32/ieframe # Synced to Wine-1.7.1
reactos/dll/win32/ieframe # Synced to Wine-1.7.17
reactos/dll/win32/imaadp32.acm # Synced to Wine-1.7.1
reactos/dll/win32/imagehlp # Synced to Wine-1.7.17
reactos/dll/win32/imm32 # Synced to Wine-1.7.1