shdocvw: Call OnFullScreen in put_FullScreen.

This commit is contained in:
Jacek Caban 2008-01-14 16:26:23 +01:00 committed by Alexandre Julliard
parent 8daca1b5e9
commit 7b268a5583
2 changed files with 13 additions and 3 deletions

View File

@ -1532,7 +1532,7 @@ static void test_ie_funcs(IUnknown *unk)
SET_EXPECT(Invoke_ONFULLSCREEN);
hres = IWebBrowser2_put_FullScreen(wb, (exvb = VARIANT_TRUE));
ok(hres == S_OK, "put_FullScreen failed: %08x\n", hres);
todo_wine CHECK_CALLED(Invoke_ONFULLSCREEN);
CHECK_CALLED(Invoke_ONFULLSCREEN);
hres = IWebBrowser2_get_FullScreen(wb, &b);
ok(hres == S_OK, "get_FullScreen failed: %08x\n", hres);
@ -1541,7 +1541,7 @@ static void test_ie_funcs(IUnknown *unk)
SET_EXPECT(Invoke_ONFULLSCREEN);
hres = IWebBrowser2_put_FullScreen(wb, (exvb = 100));
ok(hres == S_OK, "put_FullScreen failed: %08x\n", hres);
todo_wine CHECK_CALLED(Invoke_ONFULLSCREEN);
CHECK_CALLED(Invoke_ONFULLSCREEN);
hres = IWebBrowser2_get_FullScreen(wb, &b);
ok(hres == S_OK, "get_FullScreen failed: %08x\n", hres);
@ -1550,7 +1550,7 @@ static void test_ie_funcs(IUnknown *unk)
SET_EXPECT(Invoke_ONFULLSCREEN);
hres = IWebBrowser2_put_FullScreen(wb, (exvb = VARIANT_FALSE));
ok(hres == S_OK, "put_FullScreen failed: %08x\n", hres);
todo_wine CHECK_CALLED(Invoke_ONFULLSCREEN);
CHECK_CALLED(Invoke_ONFULLSCREEN);
/* Resizable */

View File

@ -667,10 +667,20 @@ static HRESULT WINAPI WebBrowser_get_FullScreen(IWebBrowser2 *iface, VARIANT_BOO
static HRESULT WINAPI WebBrowser_put_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL bFullScreen)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
/* In opposition to InternetExplorer, all we should do here is
* inform the embedder about the fullscreen change. */
TRACE("(%p)->(%x)\n", This, bFullScreen);
This->full_screen = bFullScreen ? VARIANT_TRUE : VARIANT_FALSE;
V_VT(&arg) = VT_BOOL;
V_BOOL(&arg) = bFullScreen;
call_sink(This->doc_host.cps.wbe2, DISPID_ONFULLSCREEN, &dispparams);
return S_OK;
}