Module: wine Branch: master Commit: 255894c1f1f9f1d5ed1e8f812e5891f3216ce745 URL: http://source.winehq.org/git/wine.git/?a=commit;h=255894c1f1f9f1d5ed1e8f812e...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Aug 20 13:04:28 2014 +0200
mshtml: Override default onsubmit action with our submit implementation.
---
dlls/mshtml/htmlevent.c | 2 +- dlls/mshtml/htmlform.c | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 484f3f7..33f763e 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -218,7 +218,7 @@ static const event_info_t event_info[] = { {selectstartW, onselectstartW, EVENTT_MOUSE, DISPID_EVMETH_ONSELECTSTART, EVENT_CANCELABLE}, {submitW, onsubmitW, EVENTT_HTML, DISPID_EVMETH_ONSUBMIT, - EVENT_DEFAULTLISTENER|EVENT_BUBBLE|EVENT_CANCELABLE} + EVENT_DEFAULTLISTENER|EVENT_BUBBLE|EVENT_CANCELABLE|EVENT_HASDEFAULTHANDLERS} };
eventid_t str_to_eid(LPCWSTR str) diff --git a/dlls/mshtml/htmlform.c b/dlls/mshtml/htmlform.c index 10b2df4..df425d1 100644 --- a/dlls/mshtml/htmlform.c +++ b/dlls/mshtml/htmlform.c @@ -714,12 +714,24 @@ static HRESULT HTMLFormElement_invoke(HTMLDOMNode *iface, return S_OK; }
+static HRESULT HTMLFormElement_handle_event(HTMLDOMNode *iface, eventid_t eid, nsIDOMEvent *event, BOOL *prevent_default) +{ + HTMLFormElement *This = impl_from_HTMLDOMNode(iface); + + if(eid == EVENTID_SUBMIT) { + *prevent_default = TRUE; + return IHTMLFormElement_submit(&This->IHTMLFormElement_iface); + } + + return HTMLElement_handle_event(&This->element.node, eid, event, prevent_default); +} + static const NodeImplVtbl HTMLFormElementImplVtbl = { HTMLFormElement_QI, HTMLElement_destructor, HTMLElement_cpc, HTMLElement_clone, - HTMLElement_handle_event, + HTMLFormElement_handle_event, HTMLElement_get_attr_col, NULL, NULL,