[PATCH 2/4] Implement ::abort()
Nikolay Sivov
nsivov at codeweavers.com
Thu Oct 7 17:39:21 CDT 2010
---
dlls/msxml3/httprequest.c | 9 +++++++--
dlls/msxml3/tests/domdoc.c | 14 ++++++++++++++
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index 6ff0f96..e347096 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -731,9 +731,14 @@ static HRESULT WINAPI httprequest_abort(IXMLHTTPRequest *iface)
{
httprequest *This = impl_from_IXMLHTTPRequest( iface );
- FIXME("stub (%p)\n", This);
+ TRACE("(%p)\n", This);
- return E_NOTIMPL;
+ BindStatusCallback_Detach(This->bsc);
+ This->bsc = NULL;
+
+ httprequest_setreadystate(This, READYSTATE_UNINITIALIZED);
+
+ return S_OK;
}
static HRESULT WINAPI httprequest_get_status(IXMLHTTPRequest *iface, LONG *status)
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 6035d2b..dfd8a22 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -3225,6 +3225,9 @@ if (0)
ok(hr == S_OK, "got 0x%08x\n", hr);
}
+ hr = IXMLHttpRequest_abort(pXMLHttpRequest);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
/* send before open */
hr = IXMLHttpRequest_send(pXMLHttpRequest, dummy);
ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win9x, win2k */, "got 0x%08x\n", hr);
@@ -3299,6 +3302,17 @@ if (0)
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(state == 1, "got %d, expected 1\n", state);
+ hr = IXMLHttpRequest_abort(pXMLHttpRequest);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ state = -1;
+ hr = IXMLHttpRequest_get_readyState(pXMLHttpRequest, &state);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(state == 0, "got %d, expected 1\n", state);
+
+ hr = IXMLHttpRequest_open(pXMLHttpRequest, method, url, async, dummy, dummy);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
hr = IXMLHttpRequest_setRequestHeader(pXMLHttpRequest, _bstr_("header1"), _bstr_("value1"));
ok(hr == S_OK, "got 0x%08x\n", hr);
--
1.5.6.5
--------------030106090109050103000802--
More information about the wine-patches
mailing list