Module: wine Branch: master Commit: 2fe9af5507f55a7a09a84ecee39e256a9275727e URL: http://source.winehq.org/git/wine.git/?a=commit;h=2fe9af5507f55a7a09a84ecee3...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Sep 23 22:37:01 2007 +0200
shdocvw: Added WebBrowser::FullScreen property implementation.
---
dlls/shdocvw/shdocvw.h | 1 + dlls/shdocvw/tests/webbrowser.c | 23 +++++++++++++++++++++++ dlls/shdocvw/webbrowser.c | 15 +++++++++++---- 3 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index 0e2a739..28637bf 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -131,6 +131,7 @@ struct WebBrowser { VARIANT_BOOL address_bar; VARIANT_BOOL status_bar; VARIANT_BOOL tool_bar; + VARIANT_BOOL full_screen;
DocHost doc_host; }; diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c index 8f80505..c4b76ec 100644 --- a/dlls/shdocvw/tests/webbrowser.c +++ b/dlls/shdocvw/tests/webbrowser.c @@ -1094,6 +1094,29 @@ static void test_ie_funcs(IUnknown *unk) hres = IWebBrowser2_put_ToolBar(wb, VARIANT_TRUE); ok(hres == S_OK, "put_ToolBar failed: %08x\n", hres);
+ /* FullScreen */ + + hres = IWebBrowser2_get_FullScreen(wb, &b); + ok(hres == S_OK, "get_FullScreen failed: %08x\n", hres); + ok(b == VARIANT_FALSE, "b=%x\n", b); + + hres = IWebBrowser2_put_FullScreen(wb, VARIANT_TRUE); + ok(hres == S_OK, "put_FullScreen failed: %08x\n", hres); + + hres = IWebBrowser2_get_FullScreen(wb, &b); + ok(hres == S_OK, "get_FullScreen failed: %08x\n", hres); + ok(b == VARIANT_TRUE, "b=%x\n", b); + + hres = IWebBrowser2_put_FullScreen(wb, 100); + ok(hres == S_OK, "put_FullScreen failed: %08x\n", hres); + + hres = IWebBrowser2_get_FullScreen(wb, &b); + ok(hres == S_OK, "get_FullScreen failed: %08x\n", hres); + ok(b == VARIANT_TRUE, "b=%x\n", b); + + hres = IWebBrowser2_put_FullScreen(wb, VARIANT_FALSE); + ok(hres == S_OK, "put_FullScreen failed: %08x\n", hres); + IWebBrowser2_Release(wb); }
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index ff7f699..cc27632 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -638,15 +638,21 @@ static HRESULT WINAPI WebBrowser_put_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL V static HRESULT WINAPI WebBrowser_get_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL *pbFullScreen) { WebBrowser *This = WEBBROWSER_THIS(iface); - FIXME("(%p)->(%p)\n", This, pbFullScreen); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, pbFullScreen); + + *pbFullScreen = This->full_screen; + return S_OK; }
static HRESULT WINAPI WebBrowser_put_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL bFullScreen) { WebBrowser *This = WEBBROWSER_THIS(iface); - FIXME("(%p)->(%x)\n", This, bFullScreen); - return E_NOTIMPL; + + TRACE("(%p)->(%x)\n", This, bFullScreen); + + This->full_screen = bFullScreen ? VARIANT_TRUE : VARIANT_FALSE; + return S_OK; }
static HRESULT WINAPI WebBrowser_Navigate2(IWebBrowser2 *iface, VARIANT *URL, VARIANT *Flags, @@ -927,6 +933,7 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi ret->address_bar = VARIANT_TRUE; ret->status_bar = VARIANT_TRUE; ret->tool_bar = VARIANT_TRUE; + ret->full_screen = VARIANT_FALSE;
WebBrowser_OleObject_Init(ret); WebBrowser_ViewObject_Init(ret);