diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index 73bb0bbc5d0..6d7ec158b40 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -881,8 +881,11 @@ static HRESULT WINAPI OmNavigator_get_connectionSpeed(IOmNavigator *iface, LONG
static HRESULT WINAPI OmNavigator_get_onLine(IOmNavigator *iface, VARIANT_BOOL *p)
{
OmNavigator *This = impl_from_IOmNavigator(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+
+ WARN("(%p)->(%p) semi-stub, returning true\n", This, p);
+
+ *p = VARIANT_TRUE;
+ return S_OK;
}
static HRESULT WINAPI OmNavigator_get_userProfile(IOmNavigator *iface, IHTMLOpsProfile **p)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 02ba3efb142..ea54b4d7042 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -4496,6 +4496,7 @@ static void test_navigator(IHTMLDocument2 *doc)
{
IHTMLWindow2 *window;
IOmNavigator *navigator, *navigator2;
+ VARIANT_BOOL b;
char buf[512];
DWORD size;
ULONG ref;
@@ -4581,6 +4582,11 @@ static void test_navigator(IHTMLDocument2 *doc)
ok(!strcmp_wa(bstr, "[object]"), "toString returned %s\n", wine_dbgstr_w(bstr));
SysFreeString(bstr);
+ b = 100;
+ hres = IOmNavigator_get_onLine(navigator, &b);
+ ok(hres == S_OK, "get_onLine failed: %08x\n", hres);
+ ok(b == VARIANT_TRUE, "onLine = %x\n", b);
+
size = sizeof(buf);
hres = ObtainUserAgentString(0, buf, &size);
ok(hres == S_OK, "ObtainUserAgentString failed: %08x\n", hres);