Jacek Caban : shdocvw: Added WebBrowser::get_Application implementation.
Module: wine Branch: master Commit: a8a1a2da5a22753c295f6bd5616f230fa42f77c4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a8a1a2da5a22753c295f6bd561... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Nov 20 01:49:05 2007 +0100 shdocvw: Added WebBrowser::get_Application implementation. --- dlls/shdocvw/tests/webbrowser.c | 13 +++++++++++++ dlls/shdocvw/webbrowser.c | 11 +++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c index 796c47c..bd56fe4 100644 --- a/dlls/shdocvw/tests/webbrowser.c +++ b/dlls/shdocvw/tests/webbrowser.c @@ -984,6 +984,7 @@ static void test_ClassInfo(IUnknown *unk) static void test_ie_funcs(IUnknown *unk) { IWebBrowser2 *wb; + IDispatch *disp; VARIANT_BOOL b; int i; long hwnd; @@ -1134,6 +1135,18 @@ static void test_ie_funcs(IUnknown *unk) ok(hres == E_NOTIMPL, "get_Resizable failed: %08x\n", hres); ok(b == 0x100, "b=%x\n", b); + /* Application */ + + disp = NULL; + hres = IWebBrowser2_get_Application(wb, &disp); + ok(hres == S_OK, "get_Application failed: %08x\n", hres); + ok(disp == (void*)wb, "disp=%p, expected %p\n", disp, wb); + if(disp) + IDispatch_Release(disp); + + hres = IWebBrowser2_get_Application(wb, NULL); + ok(hres == E_POINTER, "get_Application failed: %08x, expected E_POINTER\n", hres); + IWebBrowser2_Release(wb); } diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index 49914f7..3e80f0f 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -260,8 +260,15 @@ static HRESULT WINAPI WebBrowser_Stop(IWebBrowser2 *iface) static HRESULT WINAPI WebBrowser_get_Application(IWebBrowser2 *iface, IDispatch **ppDisp) { WebBrowser *This = WEBBROWSER_THIS(iface); - FIXME("(%p)->(%p)\n", This, ppDisp); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, ppDisp); + + if(!ppDisp) + return E_POINTER; + + *ppDisp = (IDispatch*)WEBBROWSER2(This); + IDispatch_AddRef(*ppDisp); + return S_OK; } static HRESULT WINAPI WebBrowser_get_Parent(IWebBrowser2 *iface, IDispatch **ppDisp)
participants (1)
-
Alexandre Julliard