Module: wine Branch: refs/heads/master Commit: eb49ade33a241a877ba8be00a28f06c9c02612ea URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=eb49ade33a241a877ba8be00...
Author: Jacek Caban jacek@codeweavers.com Date: Sat Apr 29 13:33:05 2006 +0200
shdocvw: Added WebBrowser::[get|put]_AddressBar implementation.
---
dlls/shdocvw/shdocvw.h | 1 + dlls/shdocvw/webbrowser.c | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index 45088b3..8f81447 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -117,6 +117,7 @@ typedef struct {
VARIANT_BOOL visible; VARIANT_BOOL menu_bar; + VARIANT_BOOL address_bar;
DocHost doc_host; } WebBrowser; diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index 6dc8302..67e4264 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -756,15 +756,28 @@ static HRESULT WINAPI WebBrowser_put_The static HRESULT WINAPI WebBrowser_get_AddressBar(IWebBrowser2 *iface, VARIANT_BOOL *Value) { WebBrowser *This = WEBBROWSER_THIS(iface); - FIXME("(%p)->(%p)\n", This, Value); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, Value); + + *Value = This->address_bar; + return S_OK; }
static HRESULT WINAPI WebBrowser_put_AddressBar(IWebBrowser2 *iface, VARIANT_BOOL Value) { WebBrowser *This = WEBBROWSER_THIS(iface); - FIXME("(%p)->(%x)\n", This, Value); - return E_NOTIMPL; + VARIANTARG arg; + DISPPARAMS dispparams = {&arg, NULL, 1, 0}; + + TRACE("(%p)->(%x)\n", This, Value); + + This->address_bar = Value; + + V_VT(&arg) = VT_BOOL; + V_BOOL(&arg) = Value; + call_sink(This->doc_host.cp_wbe2, DISPID_ONADDRESSBAR, &dispparams); + + return S_OK; }
static HRESULT WINAPI WebBrowser_get_Resizable(IWebBrowser2 *iface, VARIANT_BOOL *Value) @@ -874,6 +887,7 @@ HRESULT WebBrowser_Create(IUnknown *pOut
ret->visible = VARIANT_TRUE; ret->menu_bar = VARIANT_TRUE; + ret->address_bar = VARIANT_TRUE;
WebBrowser_OleObject_Init(ret); WebBrowser_ViewObject_Init(ret);