Module: wine Branch: master Commit: 50a86f5f2564219f53495f79b6fa72874e098306 URL: http://source.winehq.org/git/wine.git/?a=commit;h=50a86f5f2564219f53495f79b6...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Jan 20 15:10:39 2012 +0100
mshtml: Better stub for ITravelLogClient::FindWindowByIndex.
---
dlls/mshtml/htmlwindow.c | 7 +++++-- dlls/mshtml/tests/htmldoc.c | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 3 deletions(-)
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index 7848b76..1d6ed5d 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -1977,8 +1977,11 @@ static ULONG WINAPI TravelLogClient_Release(ITravelLogClient *iface) static HRESULT WINAPI TravelLogClient_FindWindowByIndex(ITravelLogClient *iface, DWORD dwID, IUnknown **ppunk) { HTMLWindow *This = impl_from_ITravelLogClient(iface); - FIXME("(%p)->(%d %p)\n", This, dwID, ppunk); - return E_NOTIMPL; + + FIXME("(%p)->(%d %p) semi-stub\n", This, dwID, ppunk); + + *ppunk = NULL; + return E_FAIL; }
static HRESULT WINAPI TravelLogClient_GetWindowData(ITravelLogClient *iface, IStream *pStream, LPWINDOWDATA pWinData) diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c index 0177c16..55e3ac7 100644 --- a/dlls/mshtml/tests/htmldoc.c +++ b/dlls/mshtml/tests/htmldoc.c @@ -6239,6 +6239,38 @@ static void test_target_container(IHTMLDocument2 *doc) IOleContainer_Release(doc_ole_container); }
+static void test_travellog(IHTMLDocument2 *doc) +{ + ITravelLogClient *travellog_client; + IHTMLWindow2 *window, *top_window; + IUnknown *unk; + HRESULT hres; + + window = NULL; + hres = IHTMLDocument2_get_parentWindow(doc, &window); + ok(hres == S_OK, "get_parentWindow failed: %08x\n", hres); + ok(window != NULL, "window = NULL\n"); + + hres = IHTMLWindow2_get_top(window, &top_window); + IHTMLWindow2_Release(window); + ok(hres == S_OK, "get_top failed: %08x\n", hres); + + hres = IHTMLWindow2_QueryInterface(top_window, &IID_ITravelLogClient, (void**)&travellog_client); + IHTMLWindow2_Release(top_window); + if(hres == E_NOINTERFACE) { + win_skip("ITravelLogClient not supported\n"); + return; + } + ok(hres == S_OK, "Could not get ITraveLogClient iface: %08x\n", hres); + + unk = (void*)0xdeadbeef; + hres = ITravelLogClient_FindWindowByIndex(travellog_client, 0, &unk); + ok(hres == E_FAIL, "FindWindowByIndex failed: %08x\n", hres); + ok(!unk, "unk != NULL\n"); + + ITravelLogClient_Release(travellog_client); +} + static void test_StreamLoad(IHTMLDocument2 *doc) { IPersistStreamInit *init; @@ -6613,10 +6645,13 @@ static void test_HTMLDocument_http(BOOL with_wbapp) test_IsDirty(doc, S_FALSE); test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED); test_GetCurMoniker((IUnknown*)doc, http_mon, NULL); + test_travellog(doc);
nav_url = nav_serv_url = "http://www.winehq.org/"; /* for valid prev nav_url */ - if(support_wbapp) + if(support_wbapp) { test_put_href(doc, FALSE, "#test", "http://www.winehq.org/#test", FALSE, TRUE); + test_travellog(doc); + } test_put_href(doc, FALSE, NULL, "javascript:external&&undefined", TRUE, FALSE);
test_put_href(doc, FALSE, NULL, "about:blank", FALSE, FALSE);