Jacek Caban : mshtml: Added IDOMEvent:: get_defaultPrevented implementation.
Alexandre Julliard
julliard at winehq.org
Thu Nov 2 17:28:50 CDT 2017
Module: wine
Branch: master
Commit: bbffabf1b1c8d3fe78861912a14e3ddf78ebe913
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bbffabf1b1c8d3fe78861912a14e3ddf78ebe913
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Nov 2 16:47:53 2017 +0100
mshtml: Added IDOMEvent::get_defaultPrevented implementation.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmlevent.c | 7 +++++--
dlls/mshtml/tests/events.js | 26 ++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index d57ff19..9e232be 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -995,8 +995,11 @@ static HRESULT WINAPI DOMEvent_get_currentTarget(IDOMEvent *iface, IEventTarget
static HRESULT WINAPI DOMEvent_get_defaultPrevented(IDOMEvent *iface, VARIANT_BOOL *p)
{
DOMEvent *This = impl_from_IDOMEvent(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ *p = variant_bool(This->prevent_default);
+ return S_OK;
}
static HRESULT WINAPI DOMEvent_get_eventPhase(IDOMEvent *iface, USHORT *p)
diff --git a/dlls/mshtml/tests/events.js b/dlls/mshtml/tests/events.js
index 4a064f9..4c552b6 100644
--- a/dlls/mshtml/tests/events.js
+++ b/dlls/mshtml/tests/events.js
@@ -267,6 +267,31 @@ function test_stop_propagation() {
next_test();
}
+function test_prevent_default() {
+ document.body.innerHTML = '<div><a href="about:blank"></a></div>';
+ var div = document.body.firstChild;
+ var a = div.firstChild;
+ var calls;
+
+ div.addEventListener("click", function(e) {
+ calls += "div,";
+ ok(e.defaultPrevented === false, "e.defaultPrevented = " + e.defaultPrevented);
+ e.preventDefault();
+ ok(e.defaultPrevented === true, "e.defaultPrevented = " + e.defaultPrevented);
+ }, true);
+
+ a.addEventListener("click", function(e) {
+ calls += "a,";
+ ok(e.defaultPrevented === true, "e.defaultPrevented = " + e.defaultPrevented);
+ }, true);
+
+ calls = "";
+ a.click();
+ ok(calls === "div,a,", "calls = " + calls);
+
+ next_test();
+}
+
var tests = [
test_content_loaded,
test_add_remove_listener,
@@ -274,5 +299,6 @@ var tests = [
test_remove_listener_in_listener,
test_event_phase,
test_stop_propagation,
+ test_prevent_default,
test_listener_order
];
More information about the wine-cvs
mailing list