[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; IHlinkFrame IHlinkFrame_iface;
ITargetFrame2 ITargetFrame2_iface; ITargetFrame2 ITargetFrame2_iface;
ITargetFramePriv2 ITargetFramePriv2_iface; ITargetFramePriv2 ITargetFramePriv2_iface;
IWebBrowserPriv2IE9 IWebBrowserPriv2IE9_iface;
IUnknown *outer; IUnknown *outer;
DocHost *doc_host; DocHost *doc_host;

View file

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

View file

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

View file

@ -1437,6 +1437,45 @@ static const ITargetFramePriv2Vtbl TargetFramePriv2Vtbl = {
TargetFramePriv2_AggregatedNavigation2 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) BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
{ {
if(IsEqualGUID(&IID_IHlinkFrame, riid)) { if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
@ -1451,6 +1490,9 @@ BOOL HlinkFrame_QI(HlinkFrame *This, REFIID riid, void **ppv)
}else if(IsEqualGUID(&IID_ITargetFramePriv2, riid)) { }else if(IsEqualGUID(&IID_ITargetFramePriv2, riid)) {
TRACE("(%p)->(IID_ITargetFramePriv2 %p)\n", This, ppv); TRACE("(%p)->(IID_ITargetFramePriv2 %p)\n", This, ppv);
*ppv = &This->ITargetFramePriv2_iface; *ppv = &This->ITargetFramePriv2_iface;
}else if(IsEqualGUID(&IID_IWebBrowserPriv2IE9, riid)) {
TRACE("(%p)->(IID_IWebBrowserPriv2IE9 %p)\n", This, ppv);
*ppv = &This->IWebBrowserPriv2IE9_iface;
}else { }else {
return FALSE; return FALSE;
} }
@ -1464,6 +1506,7 @@ void HlinkFrame_Init(HlinkFrame *This, IUnknown *outer, DocHost *doc_host)
This->IHlinkFrame_iface.lpVtbl = &HlinkFrameVtbl; This->IHlinkFrame_iface.lpVtbl = &HlinkFrameVtbl;
This->ITargetFrame2_iface.lpVtbl = &TargetFrame2Vtbl; This->ITargetFrame2_iface.lpVtbl = &TargetFrame2Vtbl;
This->ITargetFramePriv2_iface.lpVtbl = &TargetFramePriv2Vtbl; This->ITargetFramePriv2_iface.lpVtbl = &TargetFramePriv2Vtbl;
This->IWebBrowserPriv2IE9_iface.lpVtbl = &WebBrowserPriv2IE9Vtbl;
This->outer = outer; This->outer = outer;
This->doc_host = doc_host; 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_VT(params+3) = (VT_BYREF|VT_VARIANT);
V_VARIANTREF(params+3) = &var_frame_name; V_VARIANTREF(params+3) = &var_frame_name;
V_VT(&var_frame_name) = VT_BSTR; 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_VT(params+4) = (VT_BYREF|VT_VARIANT);
V_VARIANTREF(params+4) = &var_flags; V_VARIANTREF(params+4) = &var_flags;
@ -709,6 +709,7 @@ static HRESULT WINAPI DocObjectService_FireBeforeNavigate2(
SysFreeString(V_BSTR(&var_url)); SysFreeString(V_BSTR(&var_url));
SysFreeString(V_BSTR(&var_headers)); SysFreeString(V_BSTR(&var_headers));
SysFreeString(V_BSTR(&var_frame_name));
SafeArrayDestroy(post_data); SafeArrayDestroy(post_data);
*pfCancel = !!cancel; *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/httpapi # Synced to Wine-1.7.1
reactos/dll/win32/iccvid # 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/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/imaadp32.acm # Synced to Wine-1.7.1
reactos/dll/win32/imagehlp # Synced to Wine-1.7.17 reactos/dll/win32/imagehlp # Synced to Wine-1.7.17
reactos/dll/win32/imm32 # Synced to Wine-1.7.1 reactos/dll/win32/imm32 # Synced to Wine-1.7.1