[PATCH] ieframe: Implement InternetExplorer::get_Busy().

Dmitry Timoshkov dmitry at baikal.ru
Tue Oct 8 21:43:10 CDT 2019


Thanks Jacek.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/ieframe/ie.c       |  7 +++++--
 dlls/ieframe/tests/ie.c | 16 ++++++++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/dlls/ieframe/ie.c b/dlls/ieframe/ie.c
index 99ec88e7c3..5d9545e95d 100644
--- a/dlls/ieframe/ie.c
+++ b/dlls/ieframe/ie.c
@@ -348,8 +348,11 @@ static HRESULT WINAPI InternetExplorer_get_LocationURL(IWebBrowser2 *iface, BSTR
 static HRESULT WINAPI InternetExplorer_get_Busy(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
 {
     InternetExplorer *This = impl_from_IWebBrowser2(iface);
-    FIXME("(%p)->(%p)\n", This, pBool);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, pBool);
+
+    *pBool = This->doc_host.busy;
+    return S_OK;
 }
 
 static HRESULT WINAPI InternetExplorer_Quit(IWebBrowser2 *iface)
diff --git a/dlls/ieframe/tests/ie.c b/dlls/ieframe/tests/ie.c
index b27323cc2e..8dfe155b18 100644
--- a/dlls/ieframe/tests/ie.c
+++ b/dlls/ieframe/tests/ie.c
@@ -177,7 +177,7 @@ static void test_visible(IWebBrowser2 *wb)
     b = 0x100;
     hres = IWebBrowser2_get_Visible(wb, &b);
     ok(hres == S_OK, "get_Visible failed: %08x\n", hres);
-    ok(b == VARIANT_FALSE, "Visible = %x\n", hres);
+    ok(b == VARIANT_FALSE, "Visible = %x\n", b);
 
     hres = IWebBrowser2_put_Visible(wb, VARIANT_TRUE);
     ok(hres == S_OK, "put_Visible failed: %08x\n", hres);
@@ -185,7 +185,7 @@ static void test_visible(IWebBrowser2 *wb)
     b = 0x100;
     hres = IWebBrowser2_get_Visible(wb, &b);
     ok(hres == S_OK, "get_Visible failed: %08x\n", hres);
-    ok(b == VARIANT_TRUE, "Visible = %x\n", hres);
+    ok(b == VARIANT_TRUE, "Visible = %x\n", b);
 
     hres = IWebBrowser2_put_Visible(wb, VARIANT_FALSE);
     ok(hres == S_OK, "put_Visible failed: %08x\n", hres);
@@ -246,6 +246,17 @@ static void test_navigate(IWebBrowser2 *wb, const char *url)
     CHECK_CALLED(Invoke_NAVIGATECOMPLETE2);
 }
 
+static void test_busy(IWebBrowser2 *wb)
+{
+    VARIANT_BOOL b;
+    HRESULT hres;
+
+    b = 0xdead;
+    hres = IWebBrowser2_get_Busy(wb, &b);
+    ok(hres == S_OK, "get_Busy failed: %08x\n", hres);
+    ok(b == VARIANT_FALSE, "Busy = %x\n", b);
+}
+
 static void test_InternetExplorer(void)
 {
     IWebBrowser2 *wb;
@@ -269,6 +280,7 @@ static void test_InternetExplorer(void)
 
     advise_cp(unk, TRUE);
 
+    test_busy(wb);
     test_visible(wb);
     test_html_window(wb);
     test_window(wb);
-- 
2.20.1




More information about the wine-devel mailing list