Jacek Caban : shdocvw: Added [get|put]_Silent implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Sep 25 14:45:26 CDT 2006
Module: wine
Branch: master
Commit: f86827317b3cb854be580d86c81d1deca378ff27
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=f86827317b3cb854be580d86c81d1deca378ff27
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Sep 21 18:07:04 2006 +0200
shdocvw: Added [get|put]_Silent implementation.
As we don't have any dialog in WebBrowser implemented yet, all we have to do is to store silent value.
---
dlls/shdocvw/shdocvw.h | 1 +
dlls/shdocvw/tests/webbrowser.c | 44 +++++++++++++++++++++++++++++++++++++++
dlls/shdocvw/webbrowser.c | 15 ++++++++++---
3 files changed, 56 insertions(+), 4 deletions(-)
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index ee4bf8e..a022eb2 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -128,6 +128,7 @@ struct WebBrowser {
VARIANT_BOOL address_bar;
VARIANT_BOOL status_bar;
VARIANT_BOOL tool_bar;
+ VARIANT_BOOL silent;
DocHost doc_host;
};
diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c
index 2897857..161f608 100644
--- a/dlls/shdocvw/tests/webbrowser.c
+++ b/dlls/shdocvw/tests/webbrowser.c
@@ -809,6 +809,49 @@ static void test_ie_funcs(IUnknown *unk)
IWebBrowser2_Release(wb);
}
+static void test_Silent(IUnknown *unk)
+{
+ IWebBrowser2 *wb;
+ VARIANT_BOOL b;
+ HRESULT hres;
+
+ hres = IUnknown_QueryInterface(unk, &IID_IWebBrowser2, (void**)&wb);
+ ok(hres == S_OK, "Could not get IWebBrowser2 interface: %08lx\n", hres);
+ if(FAILED(hres))
+ return;
+
+ b = 100;
+ hres = IWebBrowser2_get_Silent(wb, &b);
+ ok(hres == S_OK, "get_Silent failed: %08lx\n", hres);
+ ok(b == VARIANT_FALSE, "b=%x\n", b);
+
+ hres = IWebBrowser2_put_Silent(wb, VARIANT_TRUE);
+ ok(hres == S_OK, "set_Silent failed: %08lx\n", hres);
+
+ b = 100;
+ hres = IWebBrowser2_get_Silent(wb, &b);
+ ok(hres == S_OK, "get_Silent failed: %08lx\n", hres);
+ ok(b == VARIANT_TRUE, "b=%x\n", b);
+
+ hres = IWebBrowser2_put_Silent(wb, 100);
+ ok(hres == S_OK, "set_Silent failed: %08lx\n", hres);
+
+ b = 100;
+ hres = IWebBrowser2_get_Silent(wb, &b);
+ ok(hres == S_OK, "get_Silent failed: %08lx\n", hres);
+ ok(b == VARIANT_TRUE, "b=%x\n", b);
+
+ hres = IWebBrowser2_put_Silent(wb, VARIANT_FALSE);
+ ok(hres == S_OK, "set_Silent failed: %08lx\n", hres);
+
+ b = 100;
+ hres = IWebBrowser2_get_Silent(wb, &b);
+ ok(hres == S_OK, "get_Silent failed: %08lx\n", hres);
+ ok(b == VARIANT_FALSE, "b=%x\n", b);
+
+ IWebBrowser_Release(wb);
+}
+
static void test_GetControlInfo(IUnknown *unk)
{
IOleControl *control;
@@ -911,6 +954,7 @@ static void test_WebBrowser(void)
test_ClientSite(unk, NULL);
test_ie_funcs(unk);
test_GetControlInfo(unk);
+ test_Silent(unk);
ref = IUnknown_Release(unk);
ok(ref == 0, "ref=%ld, expected 0\n", ref);
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index 6d46132..9e56733 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -749,15 +749,21 @@ static HRESULT WINAPI WebBrowser_put_Off
static HRESULT WINAPI WebBrowser_get_Silent(IWebBrowser2 *iface, VARIANT_BOOL *pbSilent)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
- FIXME("(%p)->(%p)\n", This, pbSilent);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, pbSilent);
+
+ *pbSilent = This->silent;
+ return S_OK;
}
static HRESULT WINAPI WebBrowser_put_Silent(IWebBrowser2 *iface, VARIANT_BOOL bSilent)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
- FIXME("(%p)->(%x)\n", This, bSilent);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%x)\n", This, bSilent);
+
+ This->silent = bSilent ? VARIANT_TRUE : VARIANT_FALSE;
+ return S_OK;
}
static HRESULT WINAPI WebBrowser_get_RegisterAsBrowser(IWebBrowser2 *iface,
@@ -947,6 +953,7 @@ static HRESULT WebBrowser_Create(INT ver
ret->address_bar = VARIANT_TRUE;
ret->status_bar = VARIANT_TRUE;
ret->tool_bar = VARIANT_TRUE;
+ ret->silent = VARIANT_FALSE;
WebBrowser_OleObject_Init(ret);
WebBrowser_ViewObject_Init(ret);
More information about the wine-cvs
mailing list